SQL Dicas & Truques (parte 1)

Todo programador sempre é obrigado a trabalhar com mais de uma linguagem, precisa entender pelo menos HTML, JavaScript e sua linguagem escolhida, além da sintaxe SQL para acesso à banco de dados.

Nos meus primeiros anos de programação SQL, sempre gastava horas pesquisando sintaxe pelas páginas de resultado do Google e alguns comandos exóticos nunca ficavam fixados em mente, visto que eram utilizados com freqüência muito baixa. Pensando nisso, certo dia criei um arquivo vazio e comecei a anotar as queries menos comuns e não menos úteis e hoje resolvi compartilhar este pedaço do meu diário de programador aqui.

Criação de usuários

GRANT ALL PRIVILEGES ON meuBD.* TO joao@localhost
    IDENTIFIED BY 'ola' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Descrição: atribui todos os privilégios à todas as tabelas do banco de dadosmeuBD ao usuário joao, a partir da máquina localhost, cuja senha é ola. O comando FLUSH PRIVILEGES atualiza as novas alterações no daemon do MySQL. Caso o usuário joao não existe, um novo usuário será criado.

Funções de data e hora

SELECT * FROM table WHERE MONTH(data)='05';

Descrição: seleciona todos os registros da tabela table onde o campo data possui a data no mês de Maio:

Criamos o arquivo index.php

SELECT DISTINCT DAYOFMONTH(data),MONTH(data),YEAR(data);

Descrição: seleciona o dia do mês, mês e ano sem repetir da tabela table.

SELECT DATE_FORMAT(campoData,'%d-%m-%Y') FROM table;

Descrição: formata o campoData no seguinte formato: dd/mm/yyyy. Maiores detalhes sobre a funções DATE_FORMAT podem ser encontradas através da URL: http://www.mysql.com/doc/en/Date_and_time_functions.html.

Importando e exportando arquivos

LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\n';

Descrição: carrega os registros em formato txt do arquivo data.txt para a tabela tbl_name, onde os campos estão separados por ‘,’ (vírgula), delimitados por ‘”‘ (aspas) e as linhas delimitadas por ‘\n’ (quebra de linha).

SELECT * INTO OUTFILE 'saida.txt' FROM table;

Descrição: seleciona todos os registros da tabela table e os grava no arquivo saida.txt.

Transferindo registros de uma tabela para outra

INSERT INTO table1 (nome) SELECT nome FROM table2;

Descrição: insere todos os nomes da tabela table2 na tabela table1.

Continue acompanhando este artigo, aos poucos vou adicionando mais dicas e truques SQL.

Anúncios

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s