Como usar o MySQL como calculadora – Elias Praciano
Categories
Banco de dados Tutoriais

Como usar o MySQL como calculadora

Queries, consultas e contas de matemática podem ser digitadas no console do cliente MySQL. O resultado é obtido imediatamente.
Veja como você pode usar o MySQL como calculadora para efetuar algumas contas um pouco mais complexas também.

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.
MySQL and HP12C calculator

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)

Calcluadoras HP 12c e MySQL

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)

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!

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.