Você usa variáveis nas consultas MySQL para armazenar valores recuperados do banco de dados ou definir durante a execução da consulta. Isso permite consultas dinâmicas e reutilizáveis. Aqui está um detalhamento de como usar variáveis no MySQL:
1. Declarando variáveis: -
Variáveis definidas pelo usuário: Use o símbolo `@` seguido pelo nome da variável. Essas variáveis são específicas da sessão.
`` `SQL
Set @my_variable ='algum valor';
`` `
-
Variáveis locais: Declarado dentro de procedimentos ou funções armazenadas usando a palavra -chave `declarar`. Estes têm um escopo limitado.
`` `SQL
Crie procedimento my_procedure ()
COMEÇAR
Declarar total_orders int;
- ... Resto do seu procedimento
FIM;
`` `
2. Atribuindo valores a variáveis: -
usando `set`: `` `SQL
Set @user_id =123;
`` `
-
de uma consulta selecionada: `` `SQL
Selecione contagem (*) em @total_products nos produtos;
`` `
-
Dentro de um procedimento ou função armazenada: `` `SQL
Declarar product_name varchar (255);
Selecione o nome em product_name nos produtos onde id =1;
`` `
3. Usando variáveis em consultas: -
em onde as cláusulas: `` `SQL
Selecione * dos usuários onde id =@User_Id;
`` `
-
em listas selecionadas: `` `SQL
Selecione o nome, @discount_percentage * preço como desconto_price nos produtos;
`` `
-
em Inserir, atualizar e excluir declarações: `` `SQL
Atualizar produtos Definir preço =@new_price onde id =@product_id;
`` `
Exemplo: Digamos que você queira encontrar todos os pedidos feitos por um usuário com um ID de usuário específico e calcular o valor total do pedido:
`` `SQL
- Defina o ID do usuário
Set @User_Id =1;
- Calcule o valor total da ordem para o usuário
Selecione
O.Order_id,
Sum (Oi.quantity * p.price) como total_order_value
De ordens o
Junte -se a ordem_items oi em o.order_id =oi.order_id
Junte -se aos produtos P em oi.product_id =p.id
Onde o.user_id =@user_id
Grupo por o.order_id;
`` `
Esta consulta define primeiro a variável `@user_id` para 1. Em seguida, ele usa essa variável na cláusula WHERE para filtrar ordens feitas pelo usuário com ID 1.
Pontos de chave: -As variáveis definidas pelo usuário são específicas da sessão e seus valores são perdidos quando a sessão termina.
- As variáveis locais são acessíveis apenas dentro do procedimento ou função armazenada onde são declaradas.
- Evite usar os mesmos nomes de variáveis para variáveis locais definidas e locais para evitar comportamentos inesperados.
- Use variáveis criteriosamente para melhorar a legibilidade e a reutilização da consulta.