Vous êtes sur la page 1sur 12

DML: Linguagem de Manipulao de Dados

-Select, Insert, Update, Delete -Filtros e ordenao

O que SQL?
Structured Query Language Linguagem padro para acesso e manipulao de bancos de dados
Partiremos do padro ANSI (independente de SGBD) No case sensitive

Divide-se em
DDL: linguagem de definio de dados
Age sobre tabelas, colunas, relacionamentos, etc.

DML: linguagem de manipulao de dados


Age sobre os dados de uma (ou mais) tabelas (ou vises)
2

Principais comandos DML


SELECT
Seleciona dados de uma ou mais tabelas

INSERT
Insere novos registros em uma tabela

UPDATE
Atualiza dados j armazenados em uma tabela

DELETE
Exclui dados presentes em uma tabela
3

Comando SELECT
Sintaxe
SELECT [coluna(s)] FROM [tabela(s)] {[filtros]}{[ordenao]}
As informaes entre {} so opcionais Os demais so obrigatrios

Exemplo
SELECT nome, dataNasc FROM Cliente SELECT cod, descricao, razaoSocial FROM Produto, Fornecedor
4

SQL versus lgebra Relacional


SELECT
Corresponde ao operador projeo ()

FROM
Corresponde ao operador produto cartesiano

WHERE
Corresponde ao operador seleo()

Exemplos de consultas
SELECT nome FROM aluno WHERE id = 1
FROM: todas tuplas da relao aluno WHERE: selecione as tuplas cujo id = 1 SELECT: projete o atributo nome

SELECT nome, id, tipo FROM aluno, cadeira WHERE id = aluno SELECT * FROM aluno

Operaes especiais com strings


O caractere % representa qualquer substring
Carl%: qualquer nome que comece com Carl %ulo%: qualquer nome que possui ulo

O caractere _ representa qualquer caractere


_ _ _: qualquer nome com 3 caracteres

O termo like utilizado para comparar padres


select nome from cliente where endereco like %Morais%
7

SELECT DISTINCT
O comando SELECT DISTINCT realiza uma projeo em uma tabela eliminando as repeties de seu resultado

P_Id LastName FirstName Address


1 Hansen Ola Timoteivn 10

City
Sandnes

2
3

Svendson
Pettersen

Tove
Kari

Borgvn 23
Storgt 20

Sandnes
Stavanger

SELECT DISTINCT City FROM Persons

City
Sandnes Sandnes Stavanger

City
Sandnes Stavanger
8

Clusula ORDER BY
Utilizada para ordenar o resultado
P_Id 1 2 3
P_Id 1 3 2 LastName Hansen Pettersen Svendson

LastName Hansen Svendson Pettersen

FirstName Ola Tove Kari


City Sandnes Stavanger Sandnes

Address Timoteivn 10 Borgvn 23 Storgt 20

City Sandnes Sandnes Stavanger

FirstName Ola Kari Tove

Address Timoteivn 10 Storgt 20 Borgvn 23

SELECT * FROM Persons ORDER BY LastName

P_Id

LastName

FirstName

Address

City

Svendson
Pettersen

Tove
Kari

Borgvn 23
Storgt 20

Sandnes
Stavanger

SELECT * FROM Persons ORDER BY LastName DESC 3


1

Hansen

Ola

Timoteivn 10

Sandnes 9

Comando INSERT
Sintaxe
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...) permitido omitir o nome das colunas
Os valores informados preenchero sero associados as colunas de acordo com sua disposio na tabela

P_Id 1 2

Exemplo
LastName Hansen Svendson FirstName Ola Tove Address Timoteivn 10 Borgvn 23 City Sandnes Sandnes

Pettersen

Kari

Storgt 20

Stavanger
P_Id LastName Hansen Svendson Pettersen Nilsen FirstName Ola Tove Kari Johan Address Timoteivn 10 Borgvn 23 Storgt 20 Bakken 2 City Sandnes Sandnes Stavanger
10

INSERT INTO Persons VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')

1 2 3 4

Stavanger

Comando UPDATE
Sintaxe
UPDATE table_name SET column1=value, column2=value2,... {WHERE some_column=some_value}
Na omisso da clusula WHERE, todas as linhas da tabela sero alteradas

Exemplo
P_Id 4 5 LastName Nilsen Tjessem FirstName Johan Jakob Address Bakken 2 City Stavanger

UPDATE Persons SET Address='Nissestien 67', City='Sandnes' WHERE LastName='Tjessem' AND FirstName='Jakob'

P_Id 4 5

LastName Nilsen Tjessem

FirstName Johan Jakob

Address Bakken 2 Nissestien 67

City Stavanger Sandnes 11

Comando DELETE
Sintaxe
DELETE FROM table_name WHERE some_column=some_value
Na omisso da clusula WHERE todas as linhas sero excludas

Exemplo
P_Id 3 4 5 LastName Pettersen Nilsen Tjessem FirstName Kari Johan Jakob Address Storgt 20 Bakken 2 Nissestien 67 City Stavanger Stavanger Sandnes

DELETE FROM Persons WHERE LastName='Tjessem' AND FirstName='Jakob'

P_Id 3 4

LastName Pettersen Nilsen

FirstName Kari Johan

Address Storgt 20 Bakken 2

City Stavanger
12 Stavanger

Vous aimerez peut-être aussi