SlideShare uma empresa Scribd logo
BANCO DE DADOS
- INTRODUÇÃO AO SQL
Prof. Angelo Augusto Frozza, M.Sc.
frozza@ifc-camboriu.edu.br
SQL – STRUTURED QUERY LANGUAGE
Os comandos SQL podem ser agrupados em 3 classes:
DDL – Data Definition Language
Comandos para a Definição de Dados
DML – Data Manipulation Language
Comandos para a Manipulação de Dados
DCL – Data Control Language
Comandos para o Controle do Gerenciador, Conexão e Usuário
SQL – STRUTURED QUERY LANGUAGE
Objetos manipuláveis em um Banco de Dados:
Database (Base de Dados)
Table (Tabelas)
Index (Indíces)
View (Visões)
Stored Procedures (Procedimentos)
Triggers (Gatilhos)
Domain (Domínios)
Generator (Variáveis Globais)
Exception (Excecões)
User (Usuários)
Role (Grupos de Usuários)
SQL – STRUTURED QUERY LANGUAGE
Comandos básicos da Linguagem de Manipulação dos Dados
(DML):
INSERT
SELECT
UPDATE
DELETE
SQL – STRUTURED QUERY LANGUAGE
PostgreSQL
Documentação
http://pgdocptbr.sourceforge.net/pg82/reference.html
SQL – STRUTURED QUERY LANGUAGE
Inserir registro em uma tabela
INSERT INTO tabela
[ ( coluna [, ...] ) ]
{ DEFAULT VALUES | VALUES (
{ expressão | DEFAULT } [, ...] )
[, ...] | consulta }
[ RETURNING * | expressão_de_saída
[ AS nome_de_saída ] [, ...] ]
SQL – STRUTURED QUERY LANGUAGE
Inserir registro em uma tabela
INSERT INTO paises (pais, nacionalidade)
VALUES ('Brasil', 'Brasileiro');
INSERT INTO paises (id_pais, pais, nacionalidade)
VALUES (DEFAULT, 'Mexico', 'Mexicano');
INSERT INTO paises
VALUES (DEFAULT, 'Venezuela', 'Venezuelano');
SQL – STRUTURED QUERY LANGUAGE
Inserir registro em uma tabela
INSERT INTO paises (pais, nacionalidade)
VALUES ('Uruguai', 'Uruguaio')
RETURNING *;
INSERT INTO paises
VALUES (DEFAULT, 'Guiana Francesa', 'Guianense')
RETURNING id_pais;
INSERT INTO paises
VALUES (DEFAULT, 'Guiana (República
Cooperativa da Guiana)', 'Guianês')
RETURNING id_pais;
SQL – STRUTURED QUERY LANGUAGE
Inserir registro em uma tabela
Vários registros na mesma linha
INSERT INTO paises (pais, nacionalidade)
VALUES ('Canadá', 'Canadense'),
('Estados Unidos', 'Americano') ,
('Bolívia', 'Boliviano');
INSERT INTO paises (pais, nacionalidade)
VALUES ('Franca', 'Frances'),
('Alemanha', 'Alemao') ,
('Italia', 'Italiano')
RETURNING id_pais;
EXERCÍCIO DE FIXAÇÃO
INSERT
Como exercício de fixação, crie registros para as
tabelas do banco de dados modelo, conforme as
instruções repassadas pelo professor.
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta todos os registros e campos de uma tabela:
SELECT * FROM tabela;
select * from paises;
Consulta apenas alguns campos da tabela:
SELECT campo1, campo2, ..., campoN FROM tabela;
select id_filme, titulo, genero from filmes;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com ordenação:
SELECT * FROM tabela ORDER BY campo;
SELECT campos FROM tabela ORDER BY campo;
SELECT * FROM filmes ORDER BY titulo;
SELECT id_filme, titulo, genero FROM filmes ORDER
BY genero;
SELECT id_filme, titulo, genero FROM filmes ORDER
BY genero, titulo;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com ordenação crescente ou decrescente:
SELECT * FROM tabela ORDER BY campo ASC | DESC;
SELECT id_filme, titulo, genero FROM filmes ORDER
BY genero, titulo DESC;
SELECT id_filme, titulo, genero FROM filmes ORDER
BY id_filme DESC;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com filtro de valores:
SELECT * FROM tabela WHERE campo = ?;
SELECT id_filme, titulo, genero FROM filmes WHERE
genero = 3;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com filtro de valores:
SELECT * FROM tabela
WHERE campo1 = ? AND campo2 = ?;
SELECT * FROM tabela
WHERE campo1 <> ? OR campo2 = ?;
SELECT id_filme, titulo, genero FROM filmes WHERE
genero = 3 AND id_filme > 15;
SELECT id_filme, titulo, genero FROM filmes WHERE
genero <> 3 OR id_filme > 15;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com filtro de texto aproximados:
SELECT * FROM tabela
WHERE campo1 like ‘...%...’;
SELECT id_filme, titulo, genero FROM filmes
WHERE titulo like 'a%’;
SELECT id_filme, titulo, genero FROM filmes
WHERE titulo like 'a%’ OR titulo like ‘A%’ ;
SELECT id_filme, titulo, genero FROM filmes
WHERE titulo like ‘%o’;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com filtro de texto aproximados:
SELECT * FROM tabela
WHERE campo1 like ‘_...’;
O SQL substitui o ‘_’ (underline) por qualquer
caracter.
SELECT id_filme, titulo, genero FROM filmes
WHERE titulo = ‘_caro%’;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta com limite de registros:
SELECT * FROM tabela LIMIT n;
SELECT id_filme, titulo, genero FROM filmes
LIMIT 5;
SELECT id_filme, titulo, genero
FROM filmes
ORDER BY titulo LIMIT 5;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta agrupando os valores:
SELECT * FROM tabela GROUP BY campo;
SELECT genero FROM filmes
GROUP BY genero;
SELECT ano_lancamento FROM filmes
GROUP BY ano_lancamento;
SELECT genero, ano_lancamento FROM filmes
GROUP BY genero, ano_lancamento;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta agrupando os valores e contando registros:
SELECT COUNT(*) FROM tabela GROUP BY campo;
SELECT COUNT(*), genero FROM filmes
GROUP BY genero ORDER BY COUNT(*);
SELECT COUNT(*), ano_lancamento FROM filmes
GROUP BY ano_lancamento;
SELECT COUNT(*), genero, ano_lancamento FROM filmes
GROUP BY genero, ano_lancamento;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta alterando o nome dos campos:
SELECT campo AS apelido FROM tabela GROUP BY campo;
SELECT COUNT(*) AS qtde, genero FROM filmes
GROUP BY genero ORDER BY COUNT(*);
SELECT COUNT(*) AS qtde, ano_lancamento FROM filmes
GROUP BY ano_lancamento;
SELECT COUNT(*) AS qtde, genero,
ano_lancamento AS lancamento FROM filmes
GROUP BY genero, ano_lancamento;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta somando valores:
SELECT SUM(campo) FROM tabela;
SELECT SUM(campo) AS apelido FROM tabela;
SELECT SUM(valor) AS total_locacao FROM locacao;
SELECT codigo AS cliente,
SUM(valor) AS total_locacao
FROM locacao
WHERE codigo = 1
GROUP BY codigo;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consultar dados de mais de uma tabela:
SELECT * FROM tabela_A, tabela_B;
SELECT a.*, b.* FROM tabela_A a, tabela_B b;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Consulta registros em um intervalo de datas:
SELECT campos
FROM tabela
WHERE campo_data
BETWEEN data_inicio AND data_fim;
SELECT count(*)
FROM locacao
WHERE data_hora_locacao
BETWEEN ’01-04-2011’ AND ’09-04-2011’;
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Outras cláusulas interessantes:
union
intersect
except
join
left join
right join
full join
cross join
having
distinct
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Operador UNION (união):
Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9)
SELECT * FROM A
UNION
SELECT * FROM B;
O operador UNION retorna os registros selecionados em ambas as
consultas, eliminando os registros duplicados:
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Operador UNION ALL:
Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9)
SELECT * FROM A
UNION ALL
SELECT * FROM B;
O operador UNION ALL retorna TODOS os registros selecionados em
ambas as consultas, SEM REMOVER os registros duplicados:
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Operador INTERSECT (intersecção):
Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9)
SELECT * FROM A
INTERSECT
SELECT * FROM B;
O operador INTERSECT retorna APENAS os registros comuns em ambas
as consultas:
SQL – STRUTURED QUERY LANGUAGE
Consultar dados em uma tabela
Operador EXCEPT (exceto):
Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9)
SELECT * FROM A
EXCEPT
SELECT * FROM B;
O operador EXCEPT retorna os registros presentes no primeiro conjunto,
MENOS os registros presentes no segundo conjunto:
SQL – STRUTURED QUERY LANGUAGE
Atualizar dados
UPDATE [ ONLY ] tabela [ [ AS ] aliás ]
SET { coluna = { expressão | DEFAULT } |
( coluna [, ...] ) =
( { expressão | DEFAULT } [, ...] ) }
[, ...]
[ FROM lista_do_from ]
[ WHERE condição ]
[ RETURNING * |
expressão_de_saída [ AS nome_de_saída ] [, ...] ]
SQL – STRUTURED QUERY LANGUAGE
Atualizar dados
Alterar dados em uma tabela
UPDATE filmes
SET ano_lancamento = 2011,
faixa_etaria = 1,
titulo = 'Rio',
observacoes = 'Filme brasileiro',
genero = 1,
id_tipo = 1
WHERE id_filme = 1;
SQL – STRUTURED QUERY LANGUAGE
Atualizar dados
Alterar dados em uma tabela retornando um campo
UPDATE filmes
SET ano_lancamento = 2011,
faixa_etaria = 1,
titulo = 'Rio',
observacoes = 'Filme brasileiro',
genero = 1,
id_tipo = 1
WHERE id_filme = 1
RETURNING id_filme;
SQL – STRUTURED QUERY LANGUAGE
Exclusão de registros
DELETE FROM [ ONLY ] tabela [ [ AS ] aliás ]
[ USING lista_do_using ]
[ WHERE condição ]
[ RETURNING * | expressão_de_saída [ AS
nome_de_saída ] [, ...] ]
SQL – STRUTURED QUERY LANGUAGE
Exclusão de registros
Exemplo:
DELETE FROM filmes
WHERE id_filme = 2;

Mais conteúdo relacionado

Mais procurados

Linux - Servidor Web Apache
Linux - Servidor Web ApacheLinux - Servidor Web Apache
Linux - Servidor Web Apache
Frederico Madeira
 
LÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVELLÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVEL
Claudiu Cartis
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Leinylson Fontinele
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
Daniel Paz de Araújo
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Leinylson Fontinele
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
Mauro Pereira
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
Cezar Souza
 
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Leinylson Fontinele
 
Tudo sobre Anemia
Tudo sobre AnemiaTudo sobre Anemia
Tudo sobre Anemia
livinhamedeiros
 
Alterações cromossomiais meiose não disjunção cromossomial
Alterações cromossomiais meiose não disjunção cromossomialAlterações cromossomiais meiose não disjunção cromossomial
Alterações cromossomiais meiose não disjunção cromossomial
Professora Raquel
 
XML Schema (2002)
XML Schema (2002)XML Schema (2002)
XML Schema (2002)
Helder da Rocha
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Leinylson Fontinele
 
A história e evolução do computador
A história e evolução do computadorA história e evolução do computador
A história e evolução do computador
xixpto
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
Alex Camargo
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Leinylson Fontinele
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Leinylson Fontinele
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
Clausia Antoneli
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
Alvaro Oliveira
 
CEF: Modelo OSI
CEF: Modelo OSICEF: Modelo OSI
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
thomasdacosta
 

Mais procurados (20)

Linux - Servidor Web Apache
Linux - Servidor Web ApacheLinux - Servidor Web Apache
Linux - Servidor Web Apache
 
LÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVELLÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVEL
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
 
Tudo sobre Anemia
Tudo sobre AnemiaTudo sobre Anemia
Tudo sobre Anemia
 
Alterações cromossomiais meiose não disjunção cromossomial
Alterações cromossomiais meiose não disjunção cromossomialAlterações cromossomiais meiose não disjunção cromossomial
Alterações cromossomiais meiose não disjunção cromossomial
 
XML Schema (2002)
XML Schema (2002)XML Schema (2002)
XML Schema (2002)
 
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
 
A história e evolução do computador
A história e evolução do computadorA história e evolução do computador
A história e evolução do computador
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
Banco de Dados II Aula 08 - Linguagem de Consulta SQL (Comandos DML)
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
CEF: Modelo OSI
CEF: Modelo OSICEF: Modelo OSI
CEF: Modelo OSI
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 

Semelhante a Comandos DML

Aulas_SQL.pdf
Aulas_SQL.pdfAulas_SQL.pdf
Aulas_SQL.pdf
DaniloPereira341965
 
Banco de dados comandos sql
Banco de dados   comandos sqlBanco de dados   comandos sql
Banco de dados comandos sql
Nilson Augustini
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
Rodrigo Kiyoshi Saito
 
Bd sql (1)
Bd sql (1)Bd sql (1)
Bd sql (1)
jheyeizah
 
Aula 6 sql - introdução
Aula 6   sql - introduçãoAula 6   sql - introdução
Aula 6 sql - introdução
Hélio Martins
 
Basesdedados
BasesdedadosBasesdedados
Basesdedados
Agostinho Sousa Pinto
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
Wagner Bianchi
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
Arley Rodrigues
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
Ed W. Jr
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
Jorge Ávila Miranda
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
Jorge Ávila Miranda
 
Bd08
Bd08Bd08
SQL DDL
SQL DDLSQL DDL
MYSQL - TLBDII
MYSQL - TLBDIIMYSQL - TLBDII
Principais instruções em sql
Principais instruções em sqlPrincipais instruções em sql
Principais instruções em sql
Charleston Anjos
 
07 sql - parte 01
07   sql - parte 0107   sql - parte 01
07 sql - parte 01
SharllesGuedes
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
Rodrigo Kiyoshi Saito
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
Fábio dos Reis
 
I Series 400 Query
I Series 400   QueryI Series 400   Query
I Series 400 Query
Luis Panao
 
Banco dados lj
Banco dados ljBanco dados lj
Banco dados lj
Carol Luz
 

Semelhante a Comandos DML (20)

Aulas_SQL.pdf
Aulas_SQL.pdfAulas_SQL.pdf
Aulas_SQL.pdf
 
Banco de dados comandos sql
Banco de dados   comandos sqlBanco de dados   comandos sql
Banco de dados comandos sql
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
 
Bd sql (1)
Bd sql (1)Bd sql (1)
Bd sql (1)
 
Aula 6 sql - introdução
Aula 6   sql - introduçãoAula 6   sql - introdução
Aula 6 sql - introdução
 
Basesdedados
BasesdedadosBasesdedados
Basesdedados
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Bd08
Bd08Bd08
Bd08
 
SQL DDL
SQL DDLSQL DDL
SQL DDL
 
MYSQL - TLBDII
MYSQL - TLBDIIMYSQL - TLBDII
MYSQL - TLBDII
 
Principais instruções em sql
Principais instruções em sqlPrincipais instruções em sql
Principais instruções em sql
 
07 sql - parte 01
07   sql - parte 0107   sql - parte 01
07 sql - parte 01
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
I Series 400 Query
I Series 400   QueryI Series 400   Query
I Series 400 Query
 
Banco dados lj
Banco dados ljBanco dados lj
Banco dados lj
 

Mais de Universidade Zambeze

Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Universidade Zambeze
 
Fases de um compilador
Fases de um compiladorFases de um compilador
Fases de um compilador
Universidade Zambeze
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
Universidade Zambeze
 
Placa mae-oficinas de informatica
Placa mae-oficinas de informaticaPlaca mae-oficinas de informatica
Placa mae-oficinas de informatica
Universidade Zambeze
 
Memória Ram - Aula Completa
Memória Ram - Aula CompletaMemória Ram - Aula Completa
Memória Ram - Aula Completa
Universidade Zambeze
 
Internet aula completa
Internet aula completaInternet aula completa
Internet aula completa
Universidade Zambeze
 

Mais de Universidade Zambeze (6)

Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
Telematica, tipos de telematica , Autenticacao, Redes virtuais privadas ( VPN )
 
Fases de um compilador
Fases de um compiladorFases de um compilador
Fases de um compilador
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
Placa mae-oficinas de informatica
Placa mae-oficinas de informaticaPlaca mae-oficinas de informatica
Placa mae-oficinas de informatica
 
Memória Ram - Aula Completa
Memória Ram - Aula CompletaMemória Ram - Aula Completa
Memória Ram - Aula Completa
 
Internet aula completa
Internet aula completaInternet aula completa
Internet aula completa
 

Comandos DML

  • 1. BANCO DE DADOS - INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
  • 2. SQL – STRUTURED QUERY LANGUAGE Os comandos SQL podem ser agrupados em 3 classes: DDL – Data Definition Language Comandos para a Definição de Dados DML – Data Manipulation Language Comandos para a Manipulação de Dados DCL – Data Control Language Comandos para o Controle do Gerenciador, Conexão e Usuário
  • 3. SQL – STRUTURED QUERY LANGUAGE Objetos manipuláveis em um Banco de Dados: Database (Base de Dados) Table (Tabelas) Index (Indíces) View (Visões) Stored Procedures (Procedimentos) Triggers (Gatilhos) Domain (Domínios) Generator (Variáveis Globais) Exception (Excecões) User (Usuários) Role (Grupos de Usuários)
  • 4. SQL – STRUTURED QUERY LANGUAGE Comandos básicos da Linguagem de Manipulação dos Dados (DML): INSERT SELECT UPDATE DELETE
  • 5. SQL – STRUTURED QUERY LANGUAGE PostgreSQL Documentação http://pgdocptbr.sourceforge.net/pg82/reference.html
  • 6. SQL – STRUTURED QUERY LANGUAGE Inserir registro em uma tabela INSERT INTO tabela [ ( coluna [, ...] ) ] { DEFAULT VALUES | VALUES ( { expressão | DEFAULT } [, ...] ) [, ...] | consulta } [ RETURNING * | expressão_de_saída [ AS nome_de_saída ] [, ...] ]
  • 7. SQL – STRUTURED QUERY LANGUAGE Inserir registro em uma tabela INSERT INTO paises (pais, nacionalidade) VALUES ('Brasil', 'Brasileiro'); INSERT INTO paises (id_pais, pais, nacionalidade) VALUES (DEFAULT, 'Mexico', 'Mexicano'); INSERT INTO paises VALUES (DEFAULT, 'Venezuela', 'Venezuelano');
  • 8. SQL – STRUTURED QUERY LANGUAGE Inserir registro em uma tabela INSERT INTO paises (pais, nacionalidade) VALUES ('Uruguai', 'Uruguaio') RETURNING *; INSERT INTO paises VALUES (DEFAULT, 'Guiana Francesa', 'Guianense') RETURNING id_pais; INSERT INTO paises VALUES (DEFAULT, 'Guiana (República Cooperativa da Guiana)', 'Guianês') RETURNING id_pais;
  • 9. SQL – STRUTURED QUERY LANGUAGE Inserir registro em uma tabela Vários registros na mesma linha INSERT INTO paises (pais, nacionalidade) VALUES ('Canadá', 'Canadense'), ('Estados Unidos', 'Americano') , ('Bolívia', 'Boliviano'); INSERT INTO paises (pais, nacionalidade) VALUES ('Franca', 'Frances'), ('Alemanha', 'Alemao') , ('Italia', 'Italiano') RETURNING id_pais;
  • 10. EXERCÍCIO DE FIXAÇÃO INSERT Como exercício de fixação, crie registros para as tabelas do banco de dados modelo, conforme as instruções repassadas pelo professor.
  • 11. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta todos os registros e campos de uma tabela: SELECT * FROM tabela; select * from paises; Consulta apenas alguns campos da tabela: SELECT campo1, campo2, ..., campoN FROM tabela; select id_filme, titulo, genero from filmes;
  • 12. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com ordenação: SELECT * FROM tabela ORDER BY campo; SELECT campos FROM tabela ORDER BY campo; SELECT * FROM filmes ORDER BY titulo; SELECT id_filme, titulo, genero FROM filmes ORDER BY genero; SELECT id_filme, titulo, genero FROM filmes ORDER BY genero, titulo;
  • 13. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com ordenação crescente ou decrescente: SELECT * FROM tabela ORDER BY campo ASC | DESC; SELECT id_filme, titulo, genero FROM filmes ORDER BY genero, titulo DESC; SELECT id_filme, titulo, genero FROM filmes ORDER BY id_filme DESC;
  • 14. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com filtro de valores: SELECT * FROM tabela WHERE campo = ?; SELECT id_filme, titulo, genero FROM filmes WHERE genero = 3;
  • 15. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com filtro de valores: SELECT * FROM tabela WHERE campo1 = ? AND campo2 = ?; SELECT * FROM tabela WHERE campo1 <> ? OR campo2 = ?; SELECT id_filme, titulo, genero FROM filmes WHERE genero = 3 AND id_filme > 15; SELECT id_filme, titulo, genero FROM filmes WHERE genero <> 3 OR id_filme > 15;
  • 16. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com filtro de texto aproximados: SELECT * FROM tabela WHERE campo1 like ‘...%...’; SELECT id_filme, titulo, genero FROM filmes WHERE titulo like 'a%’; SELECT id_filme, titulo, genero FROM filmes WHERE titulo like 'a%’ OR titulo like ‘A%’ ; SELECT id_filme, titulo, genero FROM filmes WHERE titulo like ‘%o’;
  • 17. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com filtro de texto aproximados: SELECT * FROM tabela WHERE campo1 like ‘_...’; O SQL substitui o ‘_’ (underline) por qualquer caracter. SELECT id_filme, titulo, genero FROM filmes WHERE titulo = ‘_caro%’;
  • 18. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta com limite de registros: SELECT * FROM tabela LIMIT n; SELECT id_filme, titulo, genero FROM filmes LIMIT 5; SELECT id_filme, titulo, genero FROM filmes ORDER BY titulo LIMIT 5;
  • 19. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta agrupando os valores: SELECT * FROM tabela GROUP BY campo; SELECT genero FROM filmes GROUP BY genero; SELECT ano_lancamento FROM filmes GROUP BY ano_lancamento; SELECT genero, ano_lancamento FROM filmes GROUP BY genero, ano_lancamento;
  • 20. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta agrupando os valores e contando registros: SELECT COUNT(*) FROM tabela GROUP BY campo; SELECT COUNT(*), genero FROM filmes GROUP BY genero ORDER BY COUNT(*); SELECT COUNT(*), ano_lancamento FROM filmes GROUP BY ano_lancamento; SELECT COUNT(*), genero, ano_lancamento FROM filmes GROUP BY genero, ano_lancamento;
  • 21. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta alterando o nome dos campos: SELECT campo AS apelido FROM tabela GROUP BY campo; SELECT COUNT(*) AS qtde, genero FROM filmes GROUP BY genero ORDER BY COUNT(*); SELECT COUNT(*) AS qtde, ano_lancamento FROM filmes GROUP BY ano_lancamento; SELECT COUNT(*) AS qtde, genero, ano_lancamento AS lancamento FROM filmes GROUP BY genero, ano_lancamento;
  • 22. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta somando valores: SELECT SUM(campo) FROM tabela; SELECT SUM(campo) AS apelido FROM tabela; SELECT SUM(valor) AS total_locacao FROM locacao; SELECT codigo AS cliente, SUM(valor) AS total_locacao FROM locacao WHERE codigo = 1 GROUP BY codigo;
  • 23. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consultar dados de mais de uma tabela: SELECT * FROM tabela_A, tabela_B; SELECT a.*, b.* FROM tabela_A a, tabela_B b;
  • 24. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Consulta registros em um intervalo de datas: SELECT campos FROM tabela WHERE campo_data BETWEEN data_inicio AND data_fim; SELECT count(*) FROM locacao WHERE data_hora_locacao BETWEEN ’01-04-2011’ AND ’09-04-2011’;
  • 25. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Outras cláusulas interessantes: union intersect except join left join right join full join cross join having distinct
  • 26. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Operador UNION (união): Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9) SELECT * FROM A UNION SELECT * FROM B; O operador UNION retorna os registros selecionados em ambas as consultas, eliminando os registros duplicados:
  • 27. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Operador UNION ALL: Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9) SELECT * FROM A UNION ALL SELECT * FROM B; O operador UNION ALL retorna TODOS os registros selecionados em ambas as consultas, SEM REMOVER os registros duplicados:
  • 28. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Operador INTERSECT (intersecção): Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9) SELECT * FROM A INTERSECT SELECT * FROM B; O operador INTERSECT retorna APENAS os registros comuns em ambas as consultas:
  • 29. SQL – STRUTURED QUERY LANGUAGE Consultar dados em uma tabela Operador EXCEPT (exceto): Dados dois conjuntos: A (1, 2, 3, 4, 5) e B (1, 4, 9) SELECT * FROM A EXCEPT SELECT * FROM B; O operador EXCEPT retorna os registros presentes no primeiro conjunto, MENOS os registros presentes no segundo conjunto:
  • 30. SQL – STRUTURED QUERY LANGUAGE Atualizar dados UPDATE [ ONLY ] tabela [ [ AS ] aliás ] SET { coluna = { expressão | DEFAULT } | ( coluna [, ...] ) = ( { expressão | DEFAULT } [, ...] ) } [, ...] [ FROM lista_do_from ] [ WHERE condição ] [ RETURNING * | expressão_de_saída [ AS nome_de_saída ] [, ...] ]
  • 31. SQL – STRUTURED QUERY LANGUAGE Atualizar dados Alterar dados em uma tabela UPDATE filmes SET ano_lancamento = 2011, faixa_etaria = 1, titulo = 'Rio', observacoes = 'Filme brasileiro', genero = 1, id_tipo = 1 WHERE id_filme = 1;
  • 32. SQL – STRUTURED QUERY LANGUAGE Atualizar dados Alterar dados em uma tabela retornando um campo UPDATE filmes SET ano_lancamento = 2011, faixa_etaria = 1, titulo = 'Rio', observacoes = 'Filme brasileiro', genero = 1, id_tipo = 1 WHERE id_filme = 1 RETURNING id_filme;
  • 33. SQL – STRUTURED QUERY LANGUAGE Exclusão de registros DELETE FROM [ ONLY ] tabela [ [ AS ] aliás ] [ USING lista_do_using ] [ WHERE condição ] [ RETURNING * | expressão_de_saída [ AS nome_de_saída ] [, ...] ]
  • 34. SQL – STRUTURED QUERY LANGUAGE Exclusão de registros Exemplo: DELETE FROM filmes WHERE id_filme = 2;