Comandos SQL Essenciais: Bancos, Tabelas, Views e Joins
Classificado em Eletrônica
Escrito em em
português com um tamanho de 4,5 KB
Comandos de Banco de Dados
- Listar bancos de dados:
SHOW DATABASES; - Criar banco de dados:
CREATE DATABASE jordan; - Usar banco de dados:
USE jordan;
Comandos de Tabelas
- Mostrar tabelas:
SHOW TABLES; - Criar tabela:
CREATE TABLE pessoa (id INT AUTO_INCREMENT PRIMARY KEY, nomepessoa VARCHAR(256), sexo ENUM('M','F')); - Descrever tabela:
DESCRIBE pessoa;(pessoa é o nome da tabela)
Inserção de Dados
- Inserir pessoa na tabela pessoa:
INSERT INTO pessoa VALUES (NULL, 'andrezao', 'M'); - Outra forma de inserir:
INSERT INTO pessoa (nomepessoa, sexo) VALUES ('andrezao', 'M');
Alterando Tabelas
- Adicionar novo campo:
ALTER TABLE pessoa ADD telefone VARCHAR(20); - Adicionar campo após outro:
ALTER TABLE pessoa ADD telefone VARCHAR(20) AFTER sexo;
Atualização de Dados
- Atualizar toda a coluna telefone:
UPDATE pessoa SET telefone = 1140404799; - Atualização específica:
UPDATE pessoa SET telefone = 123 WHERE nomepessoa = 'andrezao';
Views e Funções de Data
- Mostrar código de criação de uma view:
SHOW CREATE VIEW nomedaview; - Data atual:
WHERE data = CURDATE();retorna a data atual.
Consultas e Agregações
- Média de valores:
SELECT SUM(valor)/COUNT(*) FROM ano_modelo;soma todos os valores e divide pelo total de itens. - Atualizar tipo:
UPDATE ano_modelo SET tipo = 'moto' WHERE id = 2319202; - Valores distintos:
SELECT DISTINCT tipo FROM ano_modelo;conta quantos registros diferentes existem.
Variáveis
- Definir variável:
SET @variavel = 1; - Somar à variável:
SELECT @variavel + 35; - Consultar com variável:
SELECT tipo FROM ano_modelo WHERE id = @variavel; - Contagem em variável:
SET @i = (SELECT COUNT(*) FROM ano_modelo); - Decremento com variável:
SELECT @i := @i - 1, nome FROM ano_modelo;
Valores Nulos
- Atenção: número + NULL sempre resulta em NULL.
- Filtro por variável:
SELECT * FROM ano_modelo WHERE tipo = @nome;
Junções (JOIN)
SELECT modelo.id, modelo.nome, fabricante.nome AS fabricante, modelo.tipo FROM modelo INNER JOIN fabricante ON modelo.fabricante = fabricante.id WHERE fabricante.id IN (2,3);
Criando uma View
CREATE VIEW view_modelo AS SELECT modelo.id, modelo.nome, fabricante.nome AS fabricante, modelo.tipo FROM modelo INNER JOIN fabricante ON modelo.fabricante = fabricante.id WHERE fabricante.id IN (2,3);
Depois, utilize: SELECT * FROM view_modelo;
Conexão ao MySQL
mysql -h 34.83.23.46 -u luanalopes2013 -p
Criando Tabelas com Chaves Estrangeiras
- Tabela pessoas:
CREATE TABLE pessoas (id INT(11) PRIMARY KEY AUTO_INCREMENT, nome VARCHAR(256) NOT NULL); - Tabela tipo_contatos:
CREATE TABLE tipo_contatos (id INT(11) PRIMARY KEY AUTO_INCREMENT, descricao ENUM('telefone','email','celular') NOT NULL); - Tabela contatos:
CREATE TABLE contatos (id INT(11) PRIMARY KEY AUTO_INCREMENT, idpessoa INT(11) NOT NULL, idtipo_contatos INT(11) NOT NULL, descricao VARCHAR(256) NOT NULL, FOREIGN KEY (idpessoa) REFERENCES pessoas (id), FOREIGN KEY (idtipo_contatos) REFERENCES tipo_contatos (id));
Consulta com Múltiplos JOINs
SELECT * FROM pessoas AS p INNER JOIN contatos AS c ON p.id = c.idpessoa INNER JOIN tipo_contatos AS tc ON c.idtipo_contatos = tc.id;
Inserção de Múltiplos Registros
INSERT INTO pessoas VALUES (NULL, 'andrezao'), (NULL, 'cleitin');INSERT INTO pessoas (nome) VALUES ('andrezao'), ('cleitin');