Arquivo de tag DML

Insert, Update e Delete… Quer aprender ?

Fala pessoal, tudo bem ?

Você que tem acompanhado os outros artigos em Banco de dados, deve ter visto que já expliquei o que é SQL, o que é e como criamos uma banco de dados e também como criamos tabelas, colunas e chaves.

Agora vamos ver como manipular dados dentro do banco, utilizando a parte da linguagem DML (Data Manipulation Language) ou seja Linguagem de Manipulação de Dados.

Então vamos ver os comando INSERT, UPDATE e DELETE explorando cada um deles e fazendo alguns exemplos juntos… Vamos lá?

Comando INSERT.

Primeiramente vamos começar com o comando de inclusão de dados.

O comando INSERT na verdade é INSERT INTO e a estrutura do mesmo é a seguinte :
INSERT INTO table_name (column1, column2, column3, …)
VALUES (value1, value2, value3, …)

Onde table_name representa o nome da tabela que vamos inserir os dados, column[n] representa as colunas que serão consideradas na inclusão do registro e value[n] representa os dados que serão incluídos nas colunas do registro.

Então vamos para o exemplo.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
INSERT INTO Categoria (Descricao)
VALUES ('Eletrônicos'),
('Papelaria'),
('Vestuário')
INSERT INTO Categoria (Descricao) VALUES ('Eletrônicos'), ('Papelaria'), ('Vestuário')
INSERT INTO Categoria (Descricao)
VALUES ('Eletrônicos'),
       ('Papelaria'),
       ('Vestuário')

No exemplo acima, foi adicionado 3 categorias, na tabela Categoria (criada no artigo Criando tabelas – Microsoft SQL Server).

Como a coluna IdCategoria desta tabela esta com valor auto incremental, a mesma não precisou ser adicionada no comando de inclusão.

Esses são os valores inseridos no banco:

Agora vamos inserir registros na tabela Produto.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
INSERT INTO Produto (DescProduto,Preco,Peso,Ativo,IdCategoria,DataCriacao,CodBarras)
VALUES ('TV LCD 50 Polegadas',2500.00,32.54646,1,1,GETDATE(),'')
INSERT INTO Produto (DescProduto,Preco,Peso,Ativo,IdCategoria,DataCriacao,CodBarras)
VALUES ('Caderno Capa dura 50 folhas',3.50,0.150,1,2,GETDATE(),''),
('Camiseta M Preta',25.99,.1367,1,3,GETDATE(),'')
INSERT INTO Produto (DescProduto,Preco,Peso,Ativo,IdCategoria,DataCriacao,CodBarras) VALUES ('TV LCD 50 Polegadas',2500.00,32.54646,1,1,GETDATE(),'') INSERT INTO Produto (DescProduto,Preco,Peso,Ativo,IdCategoria,DataCriacao,CodBarras) VALUES ('Caderno Capa dura 50 folhas',3.50,0.150,1,2,GETDATE(),''), ('Camiseta M Preta',25.99,.1367,1,3,GETDATE(),'')
INSERT INTO Produto (DescProduto,Preco,Peso,Ativo,IdCategoria,DataCriacao,CodBarras)
VALUES ('TV LCD 50 Polegadas',2500.00,32.54646,1,1,GETDATE(),'')

INSERT INTO Produto (DescProduto,Preco,Peso,Ativo,IdCategoria,DataCriacao,CodBarras)
VALUES ('Caderno Capa dura 50 folhas',3.50,0.150,1,2,GETDATE(),''),
       ('Camiseta M Preta',25.99,.1367,1,3,GETDATE(),'')

Aqui temos dois exemplos, o primeiro está inserindo apenas um registro e o segundo inserindo dois registros.

Note que o valor referente a coluna IdCategoria, deve existir na tabela Categoria. Caso o mesmo não exista ocorrera o erro com a seguinte mensagem:
The INSERT statement conflicted with the FOREIGN KEY constraint “FK_ProdutoCategoria”. The conflict occurred in database “DataBaseName”, table “dbo.Categoria”, column ‘IdCategoria’.

Nos exemplos. utilizamos a função GETDATE(), que retorna a data e hora atual do sistema.
Os registros ficaram da seguinte forma:

Comando UPDATE.

Agora, vamos falar sobre o comando de atualização.

O comando UPDATE tem a seguinte estrutura básica:

UPDATE table_name SET column2 = value2 WHERE column1 = [valor de filtro]

Muito importante nos atentarmos nas condições do WHERE, pois caso as mesmas estejam erradas, podemos acabar alterando registros que não queremos.

Vamos ao exemplo:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
UPDATE Produto SET Preco = 2550.00, CodBarras = '7892509106405' WHERE IdProduto = 1
UPDATE Produto SET Preco = 2550.00, CodBarras = '7892509106405' WHERE IdProduto = 1
UPDATE Produto SET Preco = 2550.00, CodBarras = '7892509106405' WHERE IdProduto = 1

UPDATE Produto SET Preco = 4.00 WHERE IdProduto = 2

Nos exemplos acima, foram realizadas alterações do preço e do código de barras do produto com IdProduto = 1 e alteramos o preço do produto com IdProduto = 2.
Os registros ficaram da seguinte forma:

Comando DELETE.

Por último vamos ver o comando de exclusão de registros.

O comando DELETE tem a seguinte estrutura:

DELETE FROM table_name WHERE column1 = [valor de filtro]

Muito importante nos atentarmos nas condições do WHERE, pois caso as mesmas estejam erradas, podemos acabar deletando registros que não queremos.

Vamos ao exemplo:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
DELETE FROM Produto WHERE IdProduto = 3
DELETE FROM Produto WHERE IdProduto = 3
DELETE FROM Produto WHERE IdProduto = 3

Veja que o registro foi deletado.

Bom pessoal, esse é o conteúdo de hoje e com ele entendemos um pouco sobre a parte DML da linguagem SQL.

Aguarde o próximo conteúdo sobre banco de dados.

Até a próxima!!!