Buscar

Banco de Dados - Linguagens de SGBD [DML] (Módulo X)

Prévia do material em texto

Structured Query Language (SQL)
Linguagens de SGBD
� No módulo X estudaremos:
2
�Linguagem de Manipulação de Dados (DML).
Linguagem de Manipulação de Dados (DML)
� Principais comandos DML:
�Inserindo dados na tabela:
3
�Inserindo dados na tabela:
INSERT INTO NOME_TABELA (COL1, COL2,...,COLN)
VALUES (VAL1, VAL2,...,VALN);
Linguagem de Manipulação de Dados (DML)
� Principais comandos DML:
�Como inserir dados na tabela ALUNO?
4
�Como inserir dados na tabela ALUNO?
Linguagem de Manipulação de Dados (DML)
� Inserindo dados na tabela ALUNO:
5
INSERT INTO ALUNO (MATRICULA,NOME,SEXO)
VALUES (‘20120071’,’Maria’,’F’);
� Assim, inserimos na tabela ALUNO os seguintes valores:
MATRÍCULA = ‘20120071’;
NOME = ‘Maria’;
SEXO = ‘F’.
Linguagem de Manipulação de Dados (DML)
� Principais comandos DML:
� Seria possível inserir dados na tabela ALUNO a 
6
� Seria possível inserir dados na tabela ALUNO a 
partir de uma outra tabela???
Linguagem de Manipulação de Dados (DML)
� Sim, é possível!!!
�Inserindo dados na tabela ALUNO a partir da tabela 
7
�Inserindo dados na tabela ALUNO a partir da tabela 
PESSOA:
INSERT INTO ALUNO (CPF, NOME, SEXO)
SELECT CPF, NOME, SEXO FROM PESSOA;
� Assim, inserimos na tabela ALUNO os valores de CPF, 
NOME e SEXO selecionados(select) da tabela PESSOA.
** Falaremos do comando select adiante.
Linguagem de Manipulação de Dados (DML)
� Consultando dados da tabela
�Para consultarmos dados de uma tabela utilizamos o 
8
�Para consultarmos dados de uma tabela utilizamos o 
comando SELECT:
SELECT COL1, COL2,...,COLN
FROM NOME_TABELA
WHERE (expressão lógica)
Linguagem de Manipulação de Dados (DML)
� Consultando dados da tabela
�Executando o select na tabela ALUNO
9
�Executando o select na tabela ALUNO
SELECT * FROM ALUNO;
Assim, selecionaremos todos os registros da tabela 
ALUNO.
Linguagem de Manipulação de Dados (DML)
� Consultando dados da tabela
�Como consultar a tabela ALUNO selecionando apenas 
10
�Como consultar a tabela ALUNO selecionando apenas 
os alunos do sexo feminino???
Linguagem de Manipulação de Dados (DML)
� Consultando dados da tabela
�Executando o select na tabela ALUNO
11
�Executando o select na tabela ALUNO
SELECT MATRÍCULA, NOME, SEXO
FROM ALUNO
WHERE SEXO = ‘F’;
Linguagem de Manipulação de Dados (DML)
� Consultando dados da tabela
�Como consultar a tabela ALUNO selecionando apenas 
12
�Como consultar a tabela ALUNO selecionando apenas 
os alunos cujo nome seja iniciado com a letra “A” ???
Linguagem de Manipulação de Dados (DML)
� Consultando dados da tabela
�Executando o select na tabela ALUNO
13
�Executando o select na tabela ALUNO
SELECT MATRÍCULA, NOME, SEXO
FROM ALUNO
WHERE NOME LIKE “A%”;
**Com essa query traremos apenas os registros referentes 
a alunos cujos nomes sejam iniciados com a letra “A”.
Linguagem de Manipulação de Dados (DML)
14
Linguagem de Manipulação de Dados (DML)
� Utilizando ALIAS (Apelidos)
�Exemplo:
15
�Exemplo:
SELECT MATRÍCULA AS MAT
FROM ALUNO;
�O alias também pode ser utilizado em tabelas:
SELECT MATRÍCULA
FROM ALUNO AS A, PESSOA AS P
WHERE A.NOME = P.NOME;
Linguagem de Manipulação de Dados (DML)
• Eliminação de Repetições:
SELECT DISTINCT GÊNEROS AS GÊNERO
FROM FILME;
– Gêneros diferentes.
16
– Gêneros diferentes.
SELECT COUNT (GÊNERO) AS Qtd_GÊNERO
FROM FILME;
– Quantidade de ocorrência de Gêneros.
SELECT COUNT (DISTINCT GÊNERO) AS Dif_GÊNERO
FROM FILME;
– Quantidade de Gêneros diferentes.
Linguagem de Manipulação de Dados (DML)
� Algumas funções utilizadas no select:
�Contador de registros:
SELECT COUNT(*) FROM ALUNO;
SELECT COUNT(NOME) FROM ALUNO;
17
SELECT COUNT(NOME) FROM ALUNO;
�Somar valores numéricos:
SELECT SUM(idade) FROM ALUNO;
�Calcular a média:
SELECT AVG(idade) FROM ALUNO;
�Indicar o valor máximo e o valor mínimo:
SELECT MAX(idade) FROM ALUNO;
SELECT MIN(idade) FROM ALUNO;
Linguagem de Manipulação de Dados (DML)
� Ordenando o resultado da consulta (ORDER BY)
�Exemplo:
18
�Exemplo:
SELECT NOME
FROM ALUNO
ORDER BY NOTA DESC;
NOME NOTA
ANA 10.0
BIA 8.5
JOSÉ 7.0
Linguagem de Manipulação de Dados (DML)
� Agrupando registros (GROUP BY)
�Exemplo:
19
�Exemplo:
SELECT TURMA, COUNT(*) AS TOTAL_ALUNOS
FROM ALUNO
GROUP BY TURMA;
TURMA TOTAL_ALUNOS
A 30
B 25
C 20
Linguagem de Manipulação de Dados (DML)
� Agrupando registros utilizando HAVING
�Exemplo:
20
�Exemplo:
SELECT TURMA, COUNT(*) AS TOTAL_ALUNOS
FROM ALUNO
GROUP BY TURMA
HAVING COUNT(*) >= 25;
TURMA TOTAL_ALUNOS
A 30
B 25
Linguagem de Manipulação de Dados (DML)
� Atualizando dados da tabela
�Executando o update numa tabela:
21
�Executando o update numa tabela:
UPDATE NOME_TABELA
SET COL1=VAL1, COL2=VAL2,...,COLN=VALN
WHERE (expressão lógica);
Linguagem de Manipulação de Dados (DML)
� Atualizando dados da tabela
�Executando o update na tabela ALUNO
22
�Executando o update na tabela ALUNO
UPDATE ALUNO
SET NOTA = 10
WHERE NOME = ‘ANA’;
Linguagem de Manipulação de Dados (DML)
� Deletando dados da tabela
�Executando o delete numa tabela
23
�Executando o delete numa tabela
DELETE FROM NOME_TABELA
WHERE (expressão lógica)
Linguagem de Manipulação de Dados (DML)
� Deletando dados da tabela
�Executando o delete na tabela ALUNO
24
�Executando o delete na tabela ALUNO
DELETE FROM ALUNO
WHERE NOME = ‘JOSÉ’;
Exercícios
MATRÍCULA NOME TURMA NOTA
2012001 MARIA A 9.0
2009003 JOSÉ A 3.0
2005006 JOÃO B 5.0
2000081 BIA C 8.5
ALUNO
25
1. Insira um novo aluno na tabela ALUNO cujos campos tenham
os seguintes valores: Matrícula = 2001005, Nome = Pedro,
Turma = B e Nota = 7.0.
2. Utilizando comandos DML faça a contagem de alunos por
turma apenas para a(s) turma(s) cuja contagem de alunos seja
>= 2.
3. Selecione os alunos cujos nomes sejam terminados com a letra
“o”.
2000081 BIA C 8.5
Referências Bibliográficas
EMASRI, Ramez; NAVATHE, Shamkant B. Sistema de Banco de Dados. Pearson 
Education do Brasil. São Paulo. 2005.
SILBERSCHARTZ, Abraham; KORTH, Henry; SUDARSHAN, S. Sistemas de Banco de 
Dados. 
26
Dados. 
3º edição, São Paulo: Makron Books 1.

Continue navegando