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');

Entradas relacionadas: