Algumas dicas para Consultas no MySQL

Algumas funções são importantes de serem conhecidas por um programador iniciante que queira usar o MySQL como servidor de banco de dados. É algo simples, mas que vai facilitar a vida dos iniciantes e colocá-los no caminho para pegar mais experiência com o MySQL.

Considere a seguinte Tabela Pessoal com os valores abaixo:
Código Nome Time
01 Fabricio Corinthians
02 Felipe São Paulo
03 Gustavo Corinthians
04 Daniel Palmeiras
05 Leonardo Palmeiras

DISTINCT: retorna apenas uma linha de dados para todo o grupo de linhas que tenha o mesmo valor.

Exemplo:
SELECT DISTINCT time FROM pessoal;
Corinthians (estava duas vezes só que só retornou uma única linha)
São Paulo
Palmeiras

ALL: Retorna todos os dados, oposto de DISTINCT.

Exemplo:
SELECT ALL time FROM pessoal;
Corinthians
São Paulo
Corinthians
Palmeiras
Palmeiras

WHERE: Dá uma condição para os dados serem buscados.

Exemplo:
SELECT nome FROM pessoal WHERE time = 'São Paulo';
Felipe

 ORDER BY: Retorna os comandos em ordem ascendente (ASC) ou descendente (DESC). O padrão é ascendente.

Exemplo:
SELECT nome FROM pessoal ORDER BY nome DESC;
Leonardo
Gustavo
Felipe
Fabrício
Daniel

LIMIT [início,] linhas: Retorna o número de linhas especificado. Se o valor início for fornecido, aquelas linhas são puladas antes do dado ser retornado. A primeira linha é 0.

Exemplo:
SELECT * FROM pessoal LIMIT 3,1;
04 Daniel Palmeiras
 

FUNÇÕES:

1. ABS: Valor absoluto do número, ou seja, só considera a parte numérica não se importando com o sinal positivo ou negativo do mesmo.
Exemplo: ABS(-145) retorna 145

2. BIN: Binário de número decimal
Exemplo: BIN(8) retorna 1000

3. CURDATE() / CURRENTDATE(): Data atual na forma YYYY/MM/DD
Exemplo: CURDATE() retorna 2002/04/04

4. CURTIME() / CURRENTTIME(): Hora atual na forma HH:MM:SS
Exemplo: CURTIME() retorna 13:02:43

5. DATABASE: Nome do banco de dados atual
Exemplo: DATABASE() retorna bdteste

6. DAYOFMONTH: Dia do mês para a data dada, na faixa de 1 a 31
Exemplo: DAYOFMONTH('2004-04-04') retorna 04

7. DAYNAME: Dia da semana para a data dada
Exemplo: DAYNAME('2004-04-04') retorna Sunday

8. DAYOFWEEK: Dia da semana em número para a data dada, na faixa de 1 a 7, onde o 1 é domingo.
Exemplo: DAYOFWEEK('2004-04-04') retorna 1

9. DAYOFYEAR: Dia do ano para a data dada, na faixa de 1 até 366
Exemplo: DAYOFYEAR('2004-04-04') retorna 95.

10. FORMAT(NÚMERO, DECIMAIS): Formata o número nitidamente com o número de decimais dado.
Exemplo: FORMAT(5543.00245,2) retorna 5.543.002,45

11. LIKE: faz uma busca sofisticada por uma substring dentro de uma string informada. Temos, dentro da função LIKE, os seguintes caracteres especiais utilizados em substrings:

               % - Busca zero ou mais caracteres;
               _ - Busca somente um caractere.


Exemplo 1:
SELECT nome From pessoal Where nome like ‘F%’;
Fabricio
Felipe

O caracter ‘%’ na consulta acima indica que estamos procurando nomes que possuem a incial F.

Exemplo 2:
SELECT nome From pessoal Where nome like ‘_a%’;
Daniel
Fabricio

O caracter ‘_’ na consulta acima indica que estamos procurando nomes nos quais a letra A é a segunda letra do nome.

Exemplo 3:
SELECT nome From pessoal Where nome like ‘%o’;
Fabrício
Gustavo
Leonardo

A consulta acima buscou nomes em que a última letra é o caractere ‘O’.


12. A função Left retorna os primeiros caracteres à esquerda de uma string.

Sintaxe: LEFT(string,tamanho)

Exemplo: SELECT LEFT(nome,3) from pessoal
Fab
Fel
Gus
Dan
Leo

Esta consulta retornará os 3 primeiros caracteres à esquerda dos registros da coluna nome.

13. A função Right retorna os últimos caracteres à direita de uma string.

Sintaxe: RIGHT(string1,tamanho)

Exemplo:
SELECT RIGHT(nome,4) From pessoal;

icio
lipe
tavo
niel
ardo

Por Adriana Ferreira
adriana@sqlmagazine.com.br