SQL
DDL (create, alter e drop)
DML (insert, update, delete)
DQL (select)
SQL
Structured Query Language (SQL)
Linguagem estruturada de consultas
Criada pelo Departamento de Pesquisa da
IBM no início dos anos 70.
Em 1986 o American National Standard
Institute (ANSI) publicou a SQL e
estabeleceu como linguagem padrão de
Banco de Dados Relacional.
Divisões da SQL
DDL - Data Definition Languagem (Linguagem de Definição
de Dados)
DML - Data Manipulation Language (Linguagem de
Manipulação de Dados)
DQL – Data Query Language (Linguagem de Consulta de
Dados)
DCL - Data Control Language (Linguagem de Controle de
Dados)
DTL – Data Transaction Language (Linguagem de Transação
de Dados)
Definição de dados - DDL
Os comandos DDL definem a estrutura da
base de dados.
CREATE – Criar
ALTER – Alterar
DROP – Excluir
CREATE DATABASE
Criar um banco de dados.
CREATE DATABASE Banco;
CREATE TABLE
Criar uma tabela.
CREATE TABLE Tabela
(Campo1 TipoCampo Not Null,
Campo2 TipoCampo,
PRIMARY KEY (ChavePrimaria));
Criar a tabela copiando a estrutura de outra.
CREATE TABLE Tabela2
AS (SELECT * FROM Tabela1);
ALTER TABLE
Alterar a estrutura de uma tabela (adicionar)
ALTER TABLE Tabela1
ADD Campo1 TipoCampo,
ADD FOREIGN KEY (Campo1) REFERENCES
Tabela2 (Campo2);
ALTER TABLE
Alterar a estrutura de uma tabela (modificar)
ALTER TABLE NomeTabela
CHANGE CampoAtual NovoCampo Tipo;
DROP TABLE
Excluir uma tabela.
DROP TABLE Tabela;
Manipulação de dados - DML
Os comandos DML manipulam os dados.
INSERT – Inserir
UPDATE – Atualizar
DELETE – Excluir
INSERT
Inserir uma tupla em uma tabela.
INSERT INTO Tabela (Campos)
VALUES (Valores);
INSERT INTO aluno (codigo_alu, nome_alu)
VALUES (1, ‘Rafael Meira’);
Se for inserir valores em todos os campos, os nomes
dos campos não precisam ser informados.
UPDATE
Atualizar uma ou mais tuplas de uma tabela.
UPDATE Tabela
SET Campo = ValorNovo
WHERE Condição;
UPDATE aluno
SET nome_alu = ‘Lucas Filho’
WHERE codigo_alu = 1;
DELETE
Excluir uma ou mais tuplas de uma tabela.
DELETE FROM Tabela
WHERE Condição;
DELETE FROM aluno
WHERE codigo_alu>=1 and codigo_alu<=10;
Consulta de Dados - DQL
O único comando DQL seleciona os dados:
SELECT – Selecionar (consultar)
SELECT
Selecionar uma ou mais tuplas de uma ou
mais tabelas.
SELECT Campo1, Campo2, CampoN
FROM Tabela1, Tabela2, TabelaN
WHERE CondiçãoDoSELECT
ORDER BY Campo1, Campo2, CampoN
GROUP BY Campo1, Campo2, CampoN
HAVING CondiçãoDoGroupBy;
SELECT - Exemplos
SELECT nome_alu
FROM aluno;
SELECT *
FROM aluno
ORDER BY nome_alu;
SELECT codigo_alu, nome_alu
FROM aluno
WHERE nome_alu LIKE ‘lu%’;
Funções de Agregação
(select)
count(*) - Conta
sum(campo) - Soma
max(campo) – Retorna o máximo
min(campo) – Retorna o mínimo
avg(campo) – Calcula a média
SELECT – Exemplos II
SELECT a.nome_alu, c.nome_cur
FROM aluno a, matricula m, curso c
WHERE a.cod_alu = m.cod_alu and m.cod_cur = c.cod_cur;
SELECT substr(nome_cur,1,4) nomeCurso, COUNT(*)
FROM curso
GROUP BY substr(nome_cur,1,4)
HAVING nome_cur like ‘Ling%’;
SELECT mes_ref, SUM(valor) Total
FROM contas_receber
GROUP BY mes_ref;