Dicas para Consultas no MySQL
Considere a seguinte tabela com os valores abaixo:
cd nome time
01 Caio Corinhtians
02 Luiz São Paulo
03 Zé Corinthians
04 Bob Palmeiras
05 Jean 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.
Corinthians
São Paulo
Corinthians
Palmeiras
Palmeiras
* WHERE
Dá uma condição para os dados serem buscados.
SELECT nome FROM pessoal WHERE time = 'São Paulo';
Luiz
* ORDER BY
Retorna os comando em ordem ascendente (ASC) ou descendente (DESC). O padrão é ascendente.
SELECT nome FROM pessoal ORDER BY nome DESC;
Zé
Luiz
Jean
Caio
Bob
* 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.
SELECT * FROM pessoal LIMIT 3,1;
04 Bob Palmeiras
* FUNÇÕES:
1. ABS
Valor absoluto do número.
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.
Exemplo: DAYOFMONTH('2002-04-04') retorna 04
7. DAYNAME
Dia da semana para a data dada.
Exemplo: DAYNAME('2002-04-04') retorna Thursday
8. DAYOFWEEK
Dia da semana em número para a data dada. O 1 é domingo.
Exemplo: DAYOFWEEK('2002-04-04') retorna 5
9. DAYOFYEAR
Dia do ano para a data dada.
Exemplo: DAYOFYEAR('2002-04-04') retorna Thursday
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
Você pode encontrar muitas outras funções do MySQL na própria documentação dele em http://mysql.com/doc/
cd nome time
01 Caio Corinhtians
02 Luiz São Paulo
03 Zé Corinthians
04 Bob Palmeiras
05 Jean 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.
Corinthians
São Paulo
Corinthians
Palmeiras
Palmeiras
* WHERE
Dá uma condição para os dados serem buscados.
SELECT nome FROM pessoal WHERE time = 'São Paulo';
Luiz
* ORDER BY
Retorna os comando em ordem ascendente (ASC) ou descendente (DESC). O padrão é ascendente.
SELECT nome FROM pessoal ORDER BY nome DESC;
Zé
Luiz
Jean
Caio
Bob
* 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.
SELECT * FROM pessoal LIMIT 3,1;
04 Bob Palmeiras
* FUNÇÕES:
1. ABS
Valor absoluto do número.
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.
Exemplo: DAYOFMONTH('2002-04-04') retorna 04
7. DAYNAME
Dia da semana para a data dada.
Exemplo: DAYNAME('2002-04-04') retorna Thursday
8. DAYOFWEEK
Dia da semana em número para a data dada. O 1 é domingo.
Exemplo: DAYOFWEEK('2002-04-04') retorna 5
9. DAYOFYEAR
Dia do ano para a data dada.
Exemplo: DAYOFYEAR('2002-04-04') retorna Thursday
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
Você pode encontrar muitas outras funções do MySQL na própria documentação dele em http://mysql.com/doc/
São coisas tão simples, mas por falta de tempo para pesquisar as vezes nos atrasa e mt...
Tenho uma tabela onde guardo nome de cidades e empresas com valores repetidos... usei o *DISTINCT para selecionar somente um valor do grupo de repetidos e resolveu meu problema!
parabéns!
Tenho uma tabela onde guardo nome de cidades e empresas com valores repetidos... usei o *DISTINCT para selecionar somente um valor do grupo de repetidos e resolveu meu problema!
parabéns!
31/08/2006 3:52am
(~18 anos atrás)
eu sempre venho aqui quando estou com alguma dúvida de como ordenar algo no mysql
ta bem explicativo, sem enrolação
aquele manual oficial do mysql eh uma merda de achar o q tu quer
Parábens
ta bem explicativo, sem enrolação
aquele manual oficial do mysql eh uma merda de achar o q tu quer
Parábens
02/04/2006 3:28pm
(~18 anos atrás)
Nossa Como Vc me ajudou,
eu estava com uma duvida, melhor dizendo eu não sabia como mais graças a vc consegui valeu mesmo!!!!
Obs:
foi a parte do ORDER BY nome_tabela DESC
eu não sabia como colocar a exibição de forma decrescente valeu mesmo!!!!
eu estava com uma duvida, melhor dizendo eu não sabia como mais graças a vc consegui valeu mesmo!!!!
Obs:
foi a parte do ORDER BY nome_tabela DESC
eu não sabia como colocar a exibição de forma decrescente valeu mesmo!!!!
03/04/2005 4:27am
(~19 anos atrás)
Grande iniciativa PHPrincesa, somente para complementar algumas funcoes muito uteis
Cláusula WHERE:
pode ser usado tipo
"SELECT nome FROM clientes WHERE nome LIKE '%JOAO%´" traz todos os nomes que possuem a palavra JOAO no nome
Funcao LEFT (tras somente uma parte do nome)
SELECT LEFT(nome,10) AS nome FROM clientes ORDER BY nome.
Traz somente as primeiras 10 letras de cada nome ordenadas alfabeticamente
Cláusula WHERE:
pode ser usado tipo
"SELECT nome FROM clientes WHERE nome LIKE '%JOAO%´" traz todos os nomes que possuem a palavra JOAO no nome
Funcao LEFT (tras somente uma parte do nome)
SELECT LEFT(nome,10) AS nome FROM clientes ORDER BY nome.
Traz somente as primeiras 10 letras de cada nome ordenadas alfabeticamente
10/05/2002 9:35pm
(~22 anos atrás)
Achei muito interessante, pois muitas pessoas não fezem idéias do seja SQL
18/04/2002 11:34am
(~22 anos atrás)
O que adianta alguém explicar todas as funçõezinhas das QUERYS e não explicar outras palavras que são desconhecidas ao iniciante de programação...
Na época em que eu aprendia linguagens de programação, eu ficava FURIOSO qnd lia nos manuais alguma palavra que não estava em meu vocabulário, então eu tinha que procurar o que aquilo significava...
As vezes, uma básica explicação a grosso modo ajuda...
Por exemplo, para um leigo, o que seria:
ASC (Ascendente) e DESC (Descendente)?
Portanto, peço encarecidamente a todos os publicadores de SCRIPTS e TUTORIAIS, sejam mais amigáveis nas palavras com os iniciantes.
Na época em que eu aprendia linguagens de programação, eu ficava FURIOSO qnd lia nos manuais alguma palavra que não estava em meu vocabulário, então eu tinha que procurar o que aquilo significava...
As vezes, uma básica explicação a grosso modo ajuda...
Por exemplo, para um leigo, o que seria:
ASC (Ascendente) e DESC (Descendente)?
Portanto, peço encarecidamente a todos os publicadores de SCRIPTS e TUTORIAIS, sejam mais amigáveis nas palavras com os iniciantes.
13/04/2002 11:43am
(~22 anos atrás)
Isto é um verdadeiro guia pra muitos iniciantes que somente sabem o SQL básico.
Parabéns!
Parabéns!
12/04/2002 9:53am
(~22 anos atrás)
great.