Sie sind auf Seite 1von 4

SQL

Modificao do Banco de Dados

SQL

- L. M. del Val Cura

Linguagem de Manipulao de Dados


A Linguagem de Manipulao de Dados (DML) de SQL inclui: Consulta dos dados ( SELECT....FROM...WHERE) Insero de dados( INSERT INTO....) Eliminao de dados (DELETE ...FROM...) Atualizao de dados (UPDATE...SET)

SQL

- L. M. del Val Cura

Insero de dados
Forma geral:
INSERT INTO <Relao> [<atributos>] [VALUES ...| SELECT ... ]
Ex: Inserir na relao Projeto(Num,Nome,RGCoord,Oramento,CodDpto o novo Projeto Apollo de cdigo 2040 associado ao departamento 23 sem oramento definido

Na mesma ordem da definio dos atributos da relao INSERT INTO Projeto VALUES (2040,Projeto Apollo , 134567, NULL, 23) Em ordem diferente da definio dos atributos da relao INSERT INTO Projeto(Nome, Num, Oramento, RGCoord, CodDpto VALUES (Projeto Apollo, 2040, NULL, 134567, 23)

SQL

- L. M. del Val Cura

Insero de dados(2)
Insero de tuplas a partir de outra consulta: Podem ser inseridas mltiplas tuplas a partir de uma consulta com a clausula SELECT
Ex: Inserir na relao TrabEmProjeto(RG, Num, NumeroHoras) tuplas indicando que todos os empregados do departamento de cdigo 23 com salrio maior que R$4000.00 trabalharo no projeto de nmero 2040 sem nmero de horas definidas
INSERT INTO TrabEmProjeto SELECT RG, 2040, NULL FROM Empregados WHERE Salario > 4000

SQL

- L. M. del Val Cura

Eliminao de dados
Forma Geral: DELETE FROM R WHERE P elimina todas as tuplas da Relao R que satisfaam o predicado P .

Ex: Eliminar todos os empregados masculinos com salrio menor que R$ 10,000.00 DELETE FROM Empregado WHERE (Sexo =`M`) AND (Salario > 10000)

SQL

- L. M. del Val Cura

Eliminao de dados(2)

O predicado da clausula DELETE pode incluir sub-consultas aninhadas que envolvam outras relaes
Ex: Eliminar Projetos coordenados por departamentos localizados no 3roAndar

DELETE FROM Projetos WHERE CodDpto IN (SELECT Codigo FROM Departamento WHERE Local = 3roAndar)
Ex: Remover todas as tuplas da Relao Projeto

DELETE FROM Projetos IMPORTANTE!!! Elimina todas as tuplas mas no elimina a relao!!!
SQL - L. M. del Val Cura 6

Atualizao de Dados
Forma Geral:
UPDATE R SET <atributo>1 = <expresso>1 , ........ <atributo>n = <expresso>n WHERE P Atualiza as tuplas da relao R que satisfazem o predicado P. Cada <atributo>i includo na clausula atualizado com o valor da avaliao de <expresso>i

Ex: Transferir para o departamento 20 todos os projetos coordenados pelo departamento 23 de oramento maior que 20.000. Os oramentos devem ter um acrscimo de 10% UPDATE Projetos SET Orcamento = Orcamento + Orcamento * 0.1 , CodDpto = 20 WHERE (Orcamento > 20000) AND (CodDpto = 23)
SQL - L. M. del Val Cura 7

Atualizao de Dados(2)
A ordem em que atualizaoes so feitas importante Ex: Acrescentar em 20% os salrios menores que R$ 3000.00 e em 10% os salrios menores que R$ 3000.00
UPDATE Empregados SET Salario = Salario + Salario * 0.2 , WHERE Salario < 3000 UPDATE Empregados SET Salario = Salario + Salario * 0.1 , WHERE Salario >= 3000

ERRADO!!!!

----------------------------------------------UPDATE Empregados SET Salario = Salario + Salario * 0.1 , WHERE Salario >= 3000
CORRETO!!!!

UPDATE Empregados SET Salario = Salario + Salario * 0.2 , WHERE Salario < 3000
SQL - L. M. del Val Cura 8

Das könnte Ihnen auch gefallen