Olá pessoal nesta Quick iremos continuar com falando sobre SQL, vamos ver como alterar e excluir os dados de nossas tabelas.

Alteração de dados em tabelas

Uma vez que uma linha esteja em uma tabela, pode-se querer alterar o conteúdo de uma ou mais colunas, ou até o conteúdo de uma coluna em diversas linhas. Para isso, utilizamos o comando UPDATE:

UPDATE tabela

SET coluna = conteúdo [, coluna = conteúdo, ...]

[WHERE condição ]

Onde:

Cláusula

Descrição

Tabela

Nome da tabela onde será realizada a alteração.

Coluna

Coluna que terá seu valor atualizado.

Conteúdo

Novo conteúdo para a coluna.

Condição

Condição que indicará o escopo (limite) de atualização das linhas.

                Assim, se quisermos alterar o preço de um CD, podemos utilizar o seguinte comando, filtrando na cláusula WHERE a chave primária do CD cujo preço será alterado:


UPDATE cd

SET PRECO_VENDA = 15

WHERE CODIGO_CD = 1;

 

                Imagine que ocorra um aumento de preço para todos os CDs de uma determinada gravadora. Nesse caso, utilizaremos como filtro da cláusula WHERE o código da gravadora, coluna que faz parte da estrutura da tabela CD:

UPDATE cd

SET PRECO_VENDA = 15

WHERE CODIGO_GRAVADORA = 2;

Também é possível alterar o conteúdo de uma coluna com base nela mesma.

Aumenta-se o preço de todos os CDs de uma gravadora em 5%, multiplicando o próprio preço do CD por 1.05:

UPDATE cd

SET PRECO_VENDA = PRECO_VENDA * 1.05

WHERE CODIGO_GRAVADORA = 2

                Se não for especificada a cláusula WHERE, então todas as linhas serão afetadas pelo comando UPDATE. Todos os CDs serão aumentados em 5%.

                Mais de uma coluna poderia ser alterada ao mesmo tempo e poderíamos utilizar o conteúdo de uma coluna para alterar o conteúdo de outra. Imagine uma tabela de Item de Pedidos em que, por qualquer motivo, escolheu-se armazenar o valor total do item na linha (valor unitário multiplicando pela quantidade). O comando UPDATE ficaria assim:


UPDATE ItemPedido

SET VLTOTALITEM = VLUNITARIO * NRQTDE

WHERE CDPEDIDO = 1 AND NRITEM = 1;

Exclusão de dados em tabelas

Sempre que alguma informação deixar de ser relevante para ser armazenada, pode-se excluí-la de tabelas. O comando DELETE pode, da mesma forma que o comando UPDATE, afetar uma ou mais linhas de uma tabela. Mais uma vez, o escopo da exclusão será definido pela cláusula WHERE.

Neste primeiro exemplo, apenas o autor com código 1, será excluído.

DELETE FROM autor

WHERE CDAUTOR = 1;

 

Neste exemplo todos os CDs da gravadora 2 serão excluídos:

DELETE FROM cd

WHERE CODIGO_GRAVADORA = 2;

 

Neste último exemplo, todas as músicas serão excluídas:

DELETE FROM musica;

 

Nesta série de Quick Tips coloquei todo o conteúdo da DDL (Data Definition Language) e a DML (Data Manipulation Language). E podemos perceber como é fácil e intuitivo a utilização dos seus comandos e funções.

Vou ficando por aqui.

Um abraço

Rubens Antunes

Leia todos artigos da série