Facilidades para sua vida – Parte 2 – Um pouco de MySql
by Michael Mafort on jan.23, 2009, under Facilidades para sua vida, Mysql
Nesta nossa série, chegou a vez de conhecermos um pouco mais de algumas instruções sql que podem facilitar e muito o nosso trabalho.
Vamos lá:
Selecionando informações no banco de dados:
SELECT * FROM minha_tabela #(òóh my God! isso não)SELECT campo1, campo2, campo3 FROM minha_tabela #(assim ta bunito)
Utilizando * você estará selecionando todos os campos de sua tabela, e na maioria das vezes você não irá utilizar todos os campos, então a melhor coisa a se fazer é buscar apenas o que vai usar, economia de processamento e melhora de desempenho.
Inserindo dados:
1 2 3 4 5 6 | INSERT INTO minha_tabela (campo1, campo2, campo3, campo4) VALUES ( 'valor 1', 'valor2', 'valor3', 'valor4') #ou a partir do mysql 4.1 pode se usar o SET ficando assim: INSERT INTO minha_tabela SET campo1 = 'valor 1', campo2 = 'valor2', campo3 = 'valor3', campo4 = 'valor4' #ou inserir dados numa tabela a partir de outra (no mesmo banco) INSERT INTO tabela1(campo1, campo2) (SELECT descricao AS campo1, valor AS campo2 FROM tabela2); #neste caso os campos 1 e 2 da tabela 1 serão preenchidos pelos valores de descricao e valor da tabela 2, notem que é importante colocar um AS para criar um alias para os campos terem os mesmos nomes. |
Atualizando dados:
1 2 3 4 5 6 7 8 | #neste exemplo iremos atualizar os campos campo1 e campo2 da tabela1 o WHERE é para criar uma condição aos registros que serão atualizados, sem ele todos os registros da tabela serão atualizados, portanto o WHERE é muito importante, a não ser claro que deseja afetar todos os registros com sua atualização. UPDATE tabela1 SET campo1 = 'novo_valor', campo2 = 'novo_valor campo 2' WHERE campo_id = 1; #vamos atualizar os dados da tabela substituindo informações dos proprios campos usanto a função replace(), neste exemplo ele irá buscar pela palavra "valor antigo" e substituir todas as ocorrencias por "valor novo" no campo1 da tabela1. UPDATE tabela1 SET campo1 = replace( campo1, 'valor antigo', 'valor novo'); #atualizando dados mesclando duas tabelas, vale a pena lembrar que o where neste caso também na maioria dos casos ser usado. UPDATE tabela1, tabela2 SET tabela1.campo1 = tabela2.campo3 WHERE tabela2.campo1 = tabela1.campo2; |
Excluindo dados:
1 2 3 4 | #esta é uma decisão muito cuidadosa, então vale sempre lembrar de usar o where e o limit na maioria dos casos, para não deixar que se cometa nenhum erro. DELETE FROM tabela WHERE campo_id = 1 LIMIT 1; #usar o "DELETE FROM tabela" sem where e limit provocará a exclusão de todos os registros da tabela, e se é isso que você deseja é mais prático usar o truncate que além de excluir os registros exclui os dados referentes ao auto increment, usa-se: TRUNCATE TABLE tabela; |
Excluindo tabelas:
Importando dados para o mysql:
1 2 | #se vc tem um arquivo de dump do mysql, para importá-lo basta usar o comando source. Se já tem um database criado e no dump não tem o create database use "USE meu_banco;" e depois o source. SOURCE meu_arquivo.sql; |
Shows, vamos exibir algumas informações importantes e úteis.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #exibindo todas as tabelas que se tem no database selecionado SHOW TABLES #exibindo todos os databases que se tem permissão com o usuário logado SHOW DATABASES #exibe o código de criação da tabela SHOW CREATE TABLE tabela_nome; #exibe o código de criação do banco de dados SHOW CREATE DATABASE database_nome; #exibe informações referente as tabelas do banco de dados, como collation, auto increment, registros, engine etc SHOW TABLE STATUS FROM database_nome; #exibe os campos, tipo dos campos, se é null, se é chave primaria, valor default de uma tabela. Muito útil para criar formulários com validação baseado na configuração do banco de dados, sabendo os dados que serão aceitos pela SGBD. DESCRIBE tabela_nome; |
Bom no próximo episódio tem mais…
Abraço,