Linguagem de Banco de Dados 3
Linguagem de Banco de Dados 3
Linguagem de Banco de Dados 3
de Dados
Material Teórico
Inserindo, alterando, excluindo e selecionando registros
Revisão Textual:
Prof. Ms. Luciano Vieira Francisco
Inserindo, alterando, excluindo
e selecionando registros
• Introdução
• Linhas Duplicadas
• Operadores SQL
• Expressões Negativas
• A Cláusula ORDER BY
OBJETIVO DE APRENDIZADO
· Conhecer rotinas de sincronização de dados em bancos relacionais
por meio de instruções Data Manipulation Language (DML), tais
como INSERT, UPDATE e DELETE.
· Verificar exemplos comuns desse tipo de tarefa, incluindo
procedimentos para a inclusão, atualização e exclusão de listas
de preços de produtos, lançamentos contábeis e/ou financeiros,
apontamentos com horários de entrada e saída de funcionários,
entre outras formas de informação.
· Conhecer a recuperação das informações em uma tabela.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja uma maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.
Mantenha o foco!
Evite se distrair com
as redes sociais.
Seja original!
Nunca plagie
trabalhos.
Não se esqueça
de se alimentar
Assim: e se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como o seu “momento do estudo”.
No material de cada Unidade, há leituras indicadas. Entre elas: artigos científicos, livros, vídeos e
sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você também
encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua
interpretação e auxiliarão no pleno entendimento dos temas abordados.
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discussão,
pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o contato
com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e aprendizagem.
UNIDADE
Introdução
Nesta Unidade veremos como incluir, alterar e excluir registros em um banco
de dados e, para isso, utilizaremos os seguintes comandos:
• INSERT;
• UPDATE;
• DELETE.
Importante! Importante!
Figura 1
Criaremos a tabela pais para ajudar em nossos exemplos.
8
Vejamos:
CREATE TABLE pais
(
cd_pais number (2),
nm_pais char (45),
ds_nacionalidade char(35),
constraint pais_cd_pais_pk primary key (cd_pais),
constraint pais_nm_pais_uk unique(nm_pais)
)
Figura 2
Figura 3
Valores alfanuméricos e datas deverão estar entre aspas simples (‘ ‘), conforme
os seguintes casos:
• Exemplo 1:
INSERT INTO pais (cd_pais, nm_pais) VALUES (1,’Brasil’)
• Exemplo 2:
INSERT INTO pais (cd_pais, nm_pais, ds_nacionalidade)
VALUES (2, ‘Argentina’,null);
• Exemplo 3:
INSERT INTO pais (cd_pa INSERT INTO pais VALUES (4,
‘Chile’, ‘Chilena’);
s, nm_pais, ds_nacionalidade) VALUES (2, ‘Argentina’,null);
9
9
UNIDADE
• Exemplo 4:
Figura 4
Figura 5
10
UPDATE
Modificar registros existentes com o comando UPDATE.
Figura 6
Update Pais set Nm_pais=’Portugal’, Ds_
nacionalidade=’Portug’ Where Cd_pais = 3;
Update Pais set Nm_pais=’Portugal’, Ds_
nacionalidade=’Portug’ Where Cd_pais = 3;
Figura 7
Importante! Importante!
Muito cuidado ao utilizar o comando UPDATE, pois caso seja omitido, a cláusula Where e
todos os registros serão alterados.
DELETE
Remover registros com o comando DELETE.
Figura 8
Importante! Importante!
Como recomendação, uma boa prática é confirmar os registros que serão excluídos por meio
do comando SELECT, antes da execução do comando DELETE.
11
11
UNIDADE
Figura 9
Importante! Importante!
Muito cuidado na utilização do comando DELETE, pois caso seja omitido, a cláusula
Where e todos os registros serão excluídos.
SELECT
O comando SELECT permite a seleção e manipulação dos registros para
visualização das informações que estão armazenadas no banco de dados.
Figura 10
12
Figura 11
• Selecionar colunas específicas:
SELECT FIRST_NAME, EMAIL, HIRE_DATE FROM employees.
Figura 12
• Selecionar expressões aritméticas:
SELECT FIRST_NAME, EMAIL , salary, salary*12 FROM
employees;
Figura 13
• Adicionar apelidos – alias – em determinada coluna:
SELECT FIRST_NAME, EMAIL , salary, salary*12 FROM
employees;
13
13
UNIDADE
Figura 14
• Concatenar colunas:
SELECT FIRST_NAME, EMAIL, ‘Salário: ‘ || salary “Salário”,
salary*12 “Salario Anual” FROM employees;
Figura 15
Linhas Duplicadas
A exibição default de consultas corresponde a todas as linhas, incluindo as
duplicadas. Assim, para eliminar valores duplicados no resultado, incluímos o
DISTINCT qualificador no comando SELECT:
Figura 16
14
Tabela 1
Operador Descrição
= Igual
<> Diferente
> Maior
< Menor
>= Maior ou igual
<= Menor ou igual
Figura 17
Operadores SQL
Existem quatro operadores SQL, os quais figuram com todos os tipos de dados:
Tabela 2
Operador Significado
Between ... and ... Entre dois valores – inclusive
In (lista) Comparar uma lista de valores
Like Comparar um parâmetro alfanumérico
Is Null É um valor nulo
Operador BETWEEN
Compara uma faixa de valores, inclusive o menor e maior valor. Suponhamos
que quiséssemos ver aqueles empregados cujos salários estão entre 1.000
e 2.000:
SELECT First_name, Last_name, Salary
FROM Employees
WHERE Salary BETWEEN 10000 AND 20000;
15
15
UNIDADE
Figura 18
Operador IN
Compara os valores especificados dentro de uma lista. Para encontrar
empregados que tenham um dos Manager com valores 101,145 e 149, utilize o
seguinte comando:
SELECT First_name, Last_name, Salary, Manager_id
FROM Employees
WHERE Manager_id IN (101, 145, 149);
Importante! Importante!
Se datas ou alfanuméricos forem usados na lista, precisam ser colocados entre aspas
simples (‘ ’).
Figura 19
16
Operador LIKE
Algumas vezes você precisa procurar valores que não conhece exatamente.
Assim, usando o operador LIKE é possível selecionar linhas combinando
parâmetros alfanuméricos. Ademais, o caractere % é utilizado como “coringa”
nas pesquisas. Veja um exemplo:
Tabela 3
Sintaxe Descrição
Like ‘%cadeia’ Localiza valores que terminem com a cadeia de caracteres
Like ‘cadeia%’ Localiza valores que comecem com a cadeia de caracteres
Like ‘%cadeia%’ Localiza valores que tenham a cadeia de caracteres em
qualquer parte do campo
Fonte: elaborado pelo professor conteudista
Para listar todos os empregados que tenham o nome começando com a letra
S, faça:
SELECT First_name, Last_name, Salary
FROM Employees
WHERE First_name like ‘S%’;
Figura 20
Operador IS NULL
Verifica quais campos estão com valores nulos. Por exemplo, se unicamente
encontrar todos os empregados que não tenham gerente, você testará um valor nulo:
SELECT First_name, Last_name, Salary, Manager_id
FROM Employees
WHERE Manager_id IS Null;
Figura 21
17
17
UNIDADE
Expressões Negativas
Podemos também negar todos os operadores estudados:
Tabela 4
Sintaxe Descrição
NOT Between Tudo que estiver fora da faixa
NOT In Tudo que não estiver na lista
NOT Like Tudo que não conter a linha de caracteres
IS NOT Null Tudo que não for nulo
Nos dois seguintes exemplos as condições são as mesmas, mas cada resultado
é diferente entre si. Veja como o resultado é dramaticamente alterado:
18
Figura 22
Perceba que neste segundo caso a seleção foi bem maior, visto que existem
funcionários que ganham entre 2.000 e 3.000 e que não são escriturários.
Figura 23
19
19
UNIDADE
Figura 24
Figura 25
Os parênteses especificam a ordem pela qual os operadores devem ser
avaliados – prioridade.
A Cláusula ORDER BY
Normalmente, a ordem das linhas retornadas de uma pesquisa é indefinida.
Assim, a cláusula ORDER BY pode ser empregada para ordenar as linhas.
20
SELECT First_name, Last_name, Salary
FROM Employees
WHERE Salary BETWEEN 10000 AND 20000
ORDER BY Last_name;
Figura 26
Figura 27
Note se tratar de ordenação por várias colunas, afinal, é possível utilizar mais
de uma coluna na cláusula ORDER BY. O limite de colunas é o número dessas
da tabela. Assim, na cláusula ORDER BY especifica-se as colunas que serão
ordenadas, separando-as por vírgula. Se algumas ou todas serão invertidas,
especifique DESC depois de cada uma das colunas.
Para ordenar por duas colunas e mostrar a ordem inversa do salário – e ordem
crescente do sobrenome –, faça:
21
21
UNIDADE
Figura 28
Para ordenar por uma coluna, esta não precisa necessariamente estar declarada
no SELECT.
Finalmente, tal comando não altera a ordem dos dados que estão armazenados
no banco de dados
22
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Livros
Oracle Database 11g Sql
Como complemento a esta Unidade, leia o oitavo capítulo do livro de J. Price, intitulado
Oracle Database 11g Sql, publicado em 2009, pela editora Bookman, de Porto Alegre, RS.
Vídeos
Oracle Server SQL 01 - Criar tabela, iserção de registros, describe e dicas Post101
https://youtu.be/J66VqmPd9lI
1.7 Inserir e Consultar dados de uma tabela de banco de dados Oracle
https://youtu.be/2Isj3H1xDBI
23
23
UNIDADE
Referências
COSTA, R. L. de C. SQL: guia prático. 2. ed. Rio de Janeiro: Brasport, 2006.
PRICE, J. Oracle Database 11g Sql. Porto Alegre, RS: Bookman, 2009.
24