Como usar variáveis no MySQL – Elias Praciano
Categories
Banco de dados Tutoriais

Como usar variáveis no MySQL

O uso de variáveis no MySQL permite a adição de inúmeras possibilidades de realizar operações, das mais simples às mais complexas. Acompanhe este post, para ver como manipular as variáveis no cliente MySQL — com muitos exemplos práticos.

Como usar variáveis no MySQL

Alguns pontos interessantes sobre o assunto:

  • As variáveis são definidas com uma instrução SET
  • O MySQL é insensível à caixa, neste caso – ou seja, idcliente e IdCliEnTE são a mesma coisa
  • As variáveis devem ser precedidas de um sinal ‘@’ (arroba)
  • Uma vez que variáveis de sessão, ao desconectar do servidor (QUIT), elas se perdem automaticamente

Exemplos de uso de variáveis

Vamos usar a seguinte tabela nos exemplos que seguem. Trata-se de uma tabela curta, com apenas 3 registros.

+-----------+-----------------------------+-------------------------+
| idCliente | nomeCliente                 | emailCliente            |
+-----------+-----------------------------+-------------------------+
|         1 | Carlos Alberto da Nobrega   | cacalberto@yahoo.com.br |
|         2 | Carlos Augustus de Oliveira | carlaugus@yahoo.com.br  |
|         3 | Maria Sulamita Nogueira     | msnogueira2@gmail.com   |
+-----------+-----------------------------+-------------------------+

Agora, vamos atribuir o valor 3 à variável @numero. Depois, vamos pedir para exibir os dados de todos os registros cujos campos idCliente sejam iguais a 3. Veja:

mysql> SET @numero = 3;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM clientes WHERE idCliente = @numero;
+-----------+-------------------------+-----------------------+
| idCliente | nomeCliente             | emailCliente          |
+-----------+-------------------------+-----------------------+
|         3 | Maria Sulamita Nogueira | msnogueira2@gmail.com |
+-----------+-------------------------+-----------------------+
1 row in set (0.00 sec)

No próximo exemplo, vamos armazenar na variável @contagem o resultado da contagem de todos os registros da tabela clientes (que são 3):

mysql> SET @contagem := (SELECT COUNT(*) FROM clientes);
Query OK, 0 rows affected (0.00 sec)

mysql> select @contagem;
+-----------+
| @contagem |
+-----------+
|         3 |
+-----------+
1 row in set (0.00 sec)

Como último exemplo, vamos armazenar na variável @email o email do cliente de id = 3. Veja como:

SELECT emailCliente INTO @email FROM clientes WHERE idCliente = 3 LIMIT 1;

Começamos por armazenar na variável @email todos os emailCliente, da tabela clientes cujo idCliente seja igual a 3. No nosso caso, apenas um dos registros satisfaz esta condição.
Depois pedimos para exibir o conteúdo da variável @email, com o comando SELECT. A imagem, abaixo, mostra os resultados que eu obtive.

mysql guardar uma query em variável
Clique para ampliar

Se quiser ver mais exemplos de como realizar operações aritméticas dentro das tabelas, com ou sem o uso das variáveis, leia o srtigo Como usar o MySQL como calculadora!

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

7 replies on “Como usar variáveis no MySQL”

Olá pessoal eu tenho uma dúvida quanto a procedimento armazenado em MySQL se alguém poder me esclarecer.

É o seguinte, eu tenho um procedimento que recebe o nome de um banco de dados como argumento e gostaria de fazer um INSERT INTO no banco de dedos cujo nome foi passado como argumento.

Exemplo:
CREATE PROCEDURE insere_no_bd (nome_bd VARCHAR(16), id_registro INT)
BEGIN
INSERT INTO nome_bd.tabela (idRegistro) VALUES (id_registro) ;

Boa Noite Elias, estou com uma dúvida, teria como eu armazenar uma variavel dentro de um campo longtext?

Exemplo:

Campo = Conteudo
conteudo = ‘TEXTO PRE-FORMATADO #VARIAVEL ‘

Olá Elias, veja se pode me ajudar:
Tenho uma tabela de colaboradores identificados pelo ID; nesta tabela tenho o campo `colaboradorSexo` onde em cada linha tem marcado se é feminino ou masculino.
Preciso fazer uma consulta de formulário com select que retorne o sexo específico daquele colaborador específico, e que quando abra a caixa select não venha os 200 sexos já cadastrados.

Excellent site. A lot of helpful info here. I’m sending it to
several pals ans additionally sharing in delicious. And certainly, thank you in your effort!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.