03-Revisão SQL (DML)
03-Revisão SQL (DML)
Federal do Paraná
UTFPR - Campus Cornélio Procópio
AS33C
Banco de Dados 2
UTFPR-CP / 2022
SQL/DML
◼ DML (Data Manipulation Language)
◼ Permite o acesso ou manipulação dos dados no BD.
◼ Recuperação, inserção, exclusão e modificação dos
dados.
◼ INSERT – Inserção de dados
◼ UPDATE – Atualização de dados
◼ DELETE – Exclusão de dados
◼ SELECT – Consulta / Recuperação
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 2
SQL/DML
Insert
◼ Objetivo: Incluir um novo registro em uma tabela do Banco de Dados.
Sintaxe:
INSERT INTO <nome-tabela> [(<nome-coluna>, [<nome-coluna>])]
VALUES (<relação dos valores a serem incluídos>);
onde:
- nome-tabela - Representa o nome da tabela onde será incluído o
registro.
- nome-coluna - Representa o nome da coluna que receberá conteúdo no
momento da operação de inclusão.
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 3
SQL/DML
Este comando pode ser executado de duas maneiras:
1) Todos os campos da tabela terão conteúdo - Não é necessário
especificar as colunas, entretanto a relação dos valores a serem
incluídos deve obedecer a mesma seqüência da definição da tabela.
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 4
Fornecedor (FNro, FNome, FCidade, FCateg)
SQL/DML
-- Com valores default
INSERT INTO Fornecedor
VALUES(DEFAULT,'Plastec','Campinas','B');
-- Apenas valores DEFAULT * Em alguns SGBDs não é
INSERT INTO Fornecedor DEFAULT VALUES; preciso listar os campos
-- Omitindo valores (p. ex. PostGreSQL)
INSERT INTO Fornecedor(FNro,FNome,FCidade) -- Sem FCateg
VALUES ('F1','Plastec','Campinas');
--Inserção com consulta
INSERT INTO NovaTabela
SELECT * FROM Fornecedor WHERE FCidade='Campinas';
-- Todos valores
INSERT INTO Fornecedor VALUES
('F1','Plastec','Campinas','B');
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 5
SQL/DML
Update
◼ Objetivo: Atualiza os dados de um registro ou de um grupo de registros
em uma tabela do Banco de Dados .
UPDATE <nome-tabela>
SET <nome-coluna> = <novo conteúdo para o campo>,
[<nome-coluna> = <novo conteúdo para o campo>]
WHERE <condição>;
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 6
SQL/DML
Fornecedor (FNro, FNome, FCidade, FCateg)
-- UPDATE padrão
UPDATE Fornecedor SET FCateg='A' WHERE FCidade='Campinas';
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 7
SQL/DML
Delete
◼ Objetivo: Apaga um registro ou um grupo de registros em uma tabela
do Banco de Dados. Sintaxe:
onde:
- nome-tabela - Representa o nome da tabela cujos registros serão
apagados.
- condição - Representa a condição para a deleção dos registros. Este
seleção poderá resultar em um ou vários registros, e a operação irá
ocorrer em todos os registros selecionados.
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 8
SQL/DML
Fornecedor (FNro, FNome, FCidade, FCateg)
Fornece_Para (PeNro, FNro, PNro, Quant)
-- Com WHERE
DELETE FROM Fornecedor WHERE FCidade = 'Campinas';
-- Com SELECT
DELETE FROM Fornecedor WHERE FNro IN
(SELECT FNro FROM Fornece_Para WHERE PeNro = 2);
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 9
SQL/DML
Select
◼ Objetivo: Seleciona um conjunto de registros em uma ou mais tabelas
que atenda a uma determinada condição definida pelo comando.
O comando SELECT ... FROM ... WHERE ... possibilita consultar uma ou
mais tabelas de acordo com critérios estabelecidos.
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 10
SQL/DML
onde:
- nome-coluna (no SELECT) – Representa o nome da(s) coluna(s)
envolvida(s) na consulta.
- nome-tabela - Representa o nome da(s) tabela(s) que contém as
colunas que serão utilizadas para execução da consulta.
- condição - Representa a condição para a seleção dos registros. Este
seleção poderá resultar em um ou vários registros.
- nome-coluna (no GROUP BY) - Representa a(s) coluna(s) cujos
resultados são agrupados para atender à consulta.
- HAVING - Especifica uma condição para seleção de um grupo de dados.
Esta opção só é utilizada combinada com a opção GROUP BY.
- ORDER BY - Esta opção quando utilizada apresenta o resultado da
consulta ordenado de forma crescente (ASC - padrão) ou decrescente
(DESC) pelos campos definidos.
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 11
SQL/DML
Resumindo as Cláusulas:
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 12
SQL/DML - Exemplos
◼ Exemplos (no BD de exemplo criado):
Obtenha os nomes de todas as peças. PeNome
Cinto
Volante
SELECT PeNome Lanterna
FROM Peca; Limpador
Painel
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 13
SQL/DML - Exemplos
Obtenha o nome e a duração em dias de cada projeto.
PNome Dias
SELECT PNome, (PDuracao*30) as Dias Detroit 150
Pegasus 90
FROM Projeto; Alfa 60
Sea 90
Paraíso 30
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 14
SQL/DML - Exemplos
Obtenha os nomes das peças de cor vermelha e com preço
maior que 25. PeNome
Painel
SELECT PeNome
FROM Peca
WHERE (PeCor = 'Vermelho' AND PePreco > 25);
UTFPR-CP
Prof. Eduardo Cotrin Teixeira 15