Você está na página 1de 12

Banco de Dados II

Data Manipulation Language - DML

“Se você tem uma maçã e eu tenho outra; e nós trocamos as maçãs,
Profº: Joseph Donald então cada um terá sua maçã. Mas se você tem uma ideia e eu tenho
outra, e nós as trocamos; então cada um terá duas ideias.”

Contatos: George Bernard Shaw


joseph.vieira@facape.br
Profº Joseph Donald
DML
Linguagem de Manipulação de Dados - SQL

Comando Função
INSERT INTO Inserir um novo registro na tabela de dados
DELETE FROM Apagar um ou mais registros de uma tabela de dados
UPDATE Permitir que os dados de um registro seja atualizados
SELECT FROM Selecionar um conjunto de registros a partir de uma
condição e retorná-los ao usuário
Profº Joseph Donald
DML
DML – Inserção de dados
INSERT

• Armazena uma ou mais linhas de dados em uma tabela.


• Os valores inseridos devem estar na mesma ordem das colunas da
tabela.
• Inserções de dados nas tabelas não podem violar as restrições.
• É importante inserir dados primeiramente nas tabelas referenciadas
por chaves estrangeiras.
Profº Joseph Donald
DML
DML – Inserção de dados
• Sintaxe:
INSERT INTO <nome_tabela> VALUES (<dados>);
• Exemplo:
INSERT INTO vendedor VALUES (1, ‘João Dias’);
ou INSERT INTO vendedor VALUES (DEFAULT, ‘João Dias’); *quando o campo for autoincremento

• A instrução seguinte insere uma linha na tabela, mas informa explicitamente as colunas para as quais
serão informados:
INSERT INTO <nome_tabela> (<colunas>) VALUES <dados>;

• Exemplos:
INSERT INTO vendedor (Id_Vendedor, Nome) VALUES (2, ‘Fábio Almeida’);
INSERT INTO cliente VALUES (DEFAULT, ‘Francisco de Assis’, ‘Av. Principal, nº 500’, ‘Santarém’, ‘PA’,
’3862-0101’, ‘Francisco’);
Profº Joseph Donald
DML
DML – Inserção de dados
• O campo data é inserido no formato “aaaa-mm-dd”
INSERT INTO Pedido VALUES (DEFAULT, ‘2019-06-15’, 500, 1, 1, 1);

INSERT INTO Transportadora VALUES (DEFAULT, ‘Transpedroso’, ‘Av. Getúlio Vargas, 500’, ‘São Paulo’,
‘SP’);
INSERT INTO Fabrica (Id_Fabrica, RazaoSocial, UF, CONTATO) VALUES (DEFAULT, ‘CAP Computadores Ltda’,
‘SP’, ‘Pedro’);
Quando desejamos que o banco fique em branco, usamos o termo “NULL”, exemplo:
INSERT INTO Produto VALUES (DEFAULT, null, 'Microcomputador', 'UN', 1, 1);

INSERT INTO Produto VALUES (DEFAULT, Null, ‘Monitor de Vídeo’, ‘UN’, 1, 1);
INSERT INTO Produto VALUES (DEFAULT, Null, ‘Placa Mãe’, ‘UN’, 1, 1);
Profº Joseph Donald
DML
DML – Alteração de Dados
• A instrução UPDATE modifica os dados em toda ou parte de uma linha de
uma tabela.
• Sintaxe:

UPDATE <nome_tabela> SET <colunas> = valor_campo;

Exemplos:
• O seguinte comando modifica as linhas da tabela. Esse comando calcula
um novo preço para todos os produtos, reajustando-os em 5%:
UPDATE produtoCond SET preco = preco * 1.05;
Profº Joseph Donald
DML
DML – Alteração de Dados
• Em caso de atualizações seletivas, a cláusula opcional WHERE pode
ser usada para restringir as atualizações a um subconjunto de linhas
na tabela.
• Cláusula WHERE para atualizar apenas um grupo de registros;
• Se a cláusula WHERE não for utilizada, todas as linhas da tabela serão
atualizadas!!
UPDATE TABELA SET COLUNA = VALOR
WHERE <CONDICAO>

UPDATE CLIENTE SET ESTADO = ‘PE’


WHERE ID_CLIENTE = 1;
Profº Joseph Donald
DML
DML – Alteração de Dados
• O comando a seguir modifica apenas uma linha da tabela.
• Modifica a descrição do produto que tem chave primária igual a 2:
UPDATE Produto SET Descricao = ‘Monitor de vídeo 15’ WHERE Id_Produto = 2;

• Quando for necessário alterar os dados de uma única linha é aconselhável selecioná-la pela
chave primária. Esta é a garantia de que a atualização ocorrerá em uma única linha, no máximo.
Também pode-se reforçar a limitação da linha com a cláusula LIMIT
UPDATE Pedido
SET Id_Transportadora = 1, Id_Vendedor = 2
WHERE Data = ‘2020-06-15’
LIMIT 1;

• O comando acima modifica dados de duas colunas dos pedidos efetuados em 15/06/2019.
Profº Joseph Donald
DML
DML – Exclusão de linhas
• O comando DELETE elimina linhas de uma tabela.
• Especifica uma ou mais linhas a serem eliminadas de uma tabela.
• Sintaxe:
DELETE FROM <nome_tabela>;

• O comando a seguir deleta todas as linhas da tabela:


DELETE FROM ProdutoPedido;
Profº Joseph Donald
DML
DML – Exclusão de linhas
• Sintaxe:

DELETE FROM <nome_tabela>;


DELETE FROM <nome_tabela> WHERE <condicao>;

• Exemplo:

DELETE FROM PRODUTOS;


DELETE FROM PRODUTOS WHERE ATIVO = ‘N’;
Profº Joseph Donald
DML
DML – Exclusão de linhas
• No caso de deleções seletivas, a cláusula WHERE deve ser utilizada para restringir
as exclusões a um subconjunto de linhas de uma tabela.
• Se a cláusula WHERE não for especificada, todas as linhas da tabela são
eliminadas.

Sintaxe:
DELETE FROM <nome_tabela> WHERE <condicao>;

Exemplo:
DELETE FROM PRODUTOPEDIDO WHERE ID_PEDIDO = 1;
Profº Joseph Donald
DML
DML – Exclusão de linhas
• A exclusão de linhas de uma tabela não pode violar as restrições de
chave estrangeira.
• As linhas de tabelas referenciadas de chaves estrangeiras só podem
ser excluídas se foi utilizada na constraint cláusula ON DELETE
CASCADE.
• Se não, devem ser excluídas inicialmente as linhas da tabela filha (a
tabela que tem a chave estrangeira).

Você também pode gostar