Além das queries ou consultas de sempre, o cliente MySQL pode efetuar também algumas contas simples ou com algum nível adicional de complexidade.
Tal como no site de pesquisas Google, é possível introduzir diretamente no console do MySQL as operações que você deseja realizar —. Ele te dá o resultado.
Operações aritméticas aceitas no MySQL
A tabela abaixo contem os operadores possíveis e uma breve descrição:
+ | Adição |
– | Subtração |
* | Multiplicação |
/ | Divisão |
% | Operação módulo |
– | Menos unário |
DIV | Divisão de inteiros (disponível a partir do MySQL versão 4.1.0) |
Tal como nas operações de cálculo aritmético básicas, que você já conhece, o MySQL também tem precedências entre operadores.
Assim, os operadores de multiplicação e de divisão são considerados antes dos operadores de adição e subtração.
Se dois operadores tiverem a mesma prioridade, a expressão é lida da esquerda para a direita.
Use os parênteses para forçar a priorização e para melhorar a legibilidade da expressão.
Use o comando SELECT para realizar operações aritméticas no MySQL
As operações aritméticas devem ser invocadas com o comando SELECT:
SELECT -2*3; +------+ | -2*3 | +------+ | -6 | +------+ 1 row in set (0.00 sec)
Use espaçamentos e parênteses em prol da legibilidade:
SELECT (5 + 15) * (30 +20); +---------------------+ | (5 + 15) * (30 +20) | +---------------------+ | 1000 | +---------------------+ 1 row in set (0.03 sec)
Você pode multiplicar “em pleno voo” os itens de uma coluna.
No próximo exemplo vou pedir para que os itens da coluna id
, da tabela clientesEstaduais
sejam exibidos com seus valores multiplicados por 3:
SELECT id*3 FROM clientesEstaduais WHERE id > 10678; +-------+ | id*3 | +-------+ | 32055 | | 32076 | +-------+
Na query abaixo, vou pedir para exibir os valores originais da coluna id
ao lado de seus valores multiplicados por 2:
SELECT id,id*2,nomecliente FROM clientesEstaduais WHERE id > 10668; +-------+-------+----------------------+ | id | id*2 | nomecliente | +-------+-------+----------------------+ | 10671 | 21342 | Remedios J. Owen | | 10678 | 21356 | Hope U. Houston | | 10685 | 21370 | Graiden F. Donaldson | | 10692 | 21384 | Petra M. Dejesus | +-------+-------+----------------------+ 4 rows in set (0.00 sec)
Faça as suas próprias experiências com suas próprias tabelas para entender melhor como funciona.
Experimente incluir o operador de raiz quadrada na brincadeira…
SELECT SQRT(id) FROM clientesEstaduais WHERE id > 10658; +--------------------+ | SQRT(id) | +--------------------+ | 103.26664514740469 | | 103.30053242844394 | | 103.33440859655606 | | 103.36827366266692 | | 103.40212763768452 | +--------------------+ 5 rows in set (0.00 sec)
Como fazer operações aritméticas no MySQL, usando variáveis
Se você tiver interesse em saber um pouco mais, leia o post Como usar variáveis no MySQL.
No exemplo a seguir, vou mostrar como usar as variáveis para determinar o valor a ser pago em uma estadia em um hotel:
SET @diaria = 100.00; SET @qtd_diarias = 5; SET @taxa_servico = 8; /* este valor é um percentual */ SET @total_diarias = @diaria * @qtd_diarias; SET @total_servico = (@total_diarias * @taxa_servico) / 100; SET @total_a_pagar = @total_diarias + @total_servico; SELECT @total_a_pagar; +----------------+ | @total_a_pagar | +----------------+ | 540.000000000 | +----------------+ 1 row in set (0.00 sec)