DML SQL
-Select, Insert, Update, Delete
-Filtros e ordenação
1
O que é SQL?
• Structured Query Language
• Linguagem padrão para acesso e manipulação de bancos de dados
– Partiremos do padrão ANSI (independente de SGBD)
– Não é case sensitive
• Divide-se em
– DDL: linguagem de definição de dados
• Age sobre tabelas, colunas, relacionamentos, etc.
– DML: linguagem de manipulação de dados
• Age sobre os dados de uma (ou mais) tabelas (ou visões)
2
Principais comandos DML
• SELECT
– Seleciona dados de uma ou mais tabelas
• INSERT
– Insere novos registros em uma tabela
• UPDATE
– Atualiza dados já armazenados em uma tabela
• DELETE
– Exclui dados presentes em uma tabela
3
Comando SELECT
• Sintaxe
– SELECT [coluna(s)] FROM [tabela(s)]
{[filtros]}{[ordenação]}
• As informações entre {} são opcionais
• Os demais são obrigatórios
• Exemplo
– SELECT nome, dataNasc FROM Cliente
– SELECT cod, descricao, razaoSocial FROM Produto,
Fornecedor
4
SQL versus Álgebra Relacional
• SELECT
– Corresponde ao operador projeção (π)
• FROM
– Corresponde ao operador produto cartesiano
• WHERE
– Corresponde ao operador seleção(σ)
5
Exemplos de consultas
• SELECT nome FROM aluno WHERE id = 1
– FROM: todas tuplas da relação aluno
– WHERE: selecione as tuplas cujo id = 1
– SELECT: projete o atributo nome
• SELECT nome, id, tipo FROM aluno, cadeira WHERE id = aluno
• SELECT * FROM aluno
6
Operações especiais com strings
• O caractere % representa qualquer substring
– “Carl%”: qualquer nome que comece com “Carl”
– “%ulo%”: qualquer nome que possui “ulo”
• O caractere _ representa qualquer caractere
– “_ _ _”: qualquer nome com 3 caracteres
• O termo like é utilizado para comparar padrões – select nome from cliente where endereco like “%Morais%”
7
SELECT DISTINCT
• O comando SELECT DISTINCT realiza uma projeção em uma tabela eliminando as repetições de seu