Buscar

sql slide

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SQL Básico: 
Teoria e Prática
Um grande resumo...
Um pouco de história
Características básicas
Características básicas
● Exemplo de tabela
● Um banco de dados é um conjunto de 
tabelas.
● Representa aspectos da vida real.
Nome RA Nota
Bonifácio Cubas 125159 9,5
Ana Cintra 125148 8,0
Modelos lógicos
● São modelos de dados 
● É uma representação teórica 
de como será a implementação 
do banco de dados
● Deve ser independente de 
tecnologia
Image: FreeDigitalPhotos.net
Modelos lógicos
● Informações concisas e necessárias para 
o negócio
● Identifica redundâncias
● Identifica dados não utilizados
● Permite estabelecer regras de 
integridade de dados
Image: FreeDigitalPhotos.net
Modelos lógicos
Image: FreeDigitalPhotos.net
Aluno
Matrícula
Nome
Endereço
Data 
Nascimento
● Um modelo é formado 
por:
○ Entidades
○ Atributos
Atr
ibu
to i
den
tific
ado
r
(Ch
ave
 Pri
má
ria)
Modelos lógicos
Image: FreeDigitalPhotos.net
Aluno:
#Matrícula
Nome
Endereço
Data Nascimento
Out
ra m
ane
ira 
de 
rep
res
ent
ar
Relacionamentos
● Diagramas de entidas
○ Utilizaremos a metodologia DER: Diagrama 
Entidade-Relacionamento
○ DER representa a associação de cada entidade 
através de relacionamentos
Entidade 1 Entidade 2Relacionamento
Relacionamentos
● DER
Entidade 1 Entidade 2Um ou muitos
Entidade 3
Um e somente
um
Um ou muitos
Um ou nenhum E
xem
plo
 de
 
rela
cio
nam
ent
o
Exemplos
● Exemplo: Cliente
○ Uma empresa controla os seguintes dados de seus 
clientes:
■ Código
■ Nome
■ Endereço
■ Telefone
Cliente:
#Código
Nome
Endereço
Telefone
Exemplos
● Exemplo: Cliente
○ A empresa vende diversos produtos a seus clientes:
■ Cada cliente pode comprar quantos produtos 
precisar
■ Cada pedido de venda pode ser composto por 
vários produtos
Pedido:
#Código
Cliente
Data
Valor
Detalhe Pedido:
#Código Pedido
#Código Produto
Quantidade
Valor
Produto:
#Código
Descrição
Valor
Exemplos
● DER: Exemplo Cliente
Cliente Pedido
N
Produto
1
1
1
Faz
Detalhe 
Pedido
FormaNNCompõe
Modelos Físicos
● São modelos de dados 
● É uma representação teórica 
de como será a implementação 
do banco de dados
● Deve levar em conta as 
limitações do SGBD
Image: FreeDigitalPhotos.net
Modelos Físicos
● Modelo lógico lhe permite a visão de 
negócio. O conceito a ser trabalho.
● O modelo físico lhe permite projetar a 
implementação do banco de dados.
● O modelo físico pode ser ligeiramente 
diferente do modelo lógico (melhorado).
● Requer conhecimento técnico.
Image: FreeDigitalPhotos.net
Modelos Físicos
● Modelo lógico : Entidades e atributos.
● O modelo físico : Tabelas e campo.
● Modelo lógico : Atributo identificador.
● O modelo físico : Chave primária.
● Modelo físico:
○ Chave estrangeira
○ Cardinalidade
○ Tipo de campo
Modelos Físicos
● Tipos de campos 
○ Char(N)
○ Varchar(N)
○ Numeric(N,P)
○ Integer
○ Date
○ Time
○ TimeStamp
N = Tamanho
P = Precisão decimal
Modelos Físicos
O SQL
● A linguagem SQL (Structured Query Language – Linguagem 
de Consulta Estruturada) é uma linguagem declarativa 
utilizada por Sistemas Gerenciadores de Bancos de Dados 
Relacionais como: Oracle, SQL Server, MySQL, 
PostgreSQL, Firebird, e outros.
● Devido à sua ampla utilização por diversos SGBDs, 
surgiram vários dialetos para os comandos, que geraram a 
necessidade de criação de um padrão para a linguagem. 
Essa tarefa foi realizada pela American National Standards 
Institute (ANSI) em 1986 e ISO em 1987. Em 1992, foi 
realização uma revisão da linguagem que recebeu o nome 
de SQL-92.
O SQL
● Em 1999 e 2003, ocorreram novas revisões. Na revisão de 
1999, foram adicionados padrões para expressões 
regulares, consultas recursivas, triggers e algumas 
características de orientação a objeto. Na revisão de 2003, 
foram introduzidas características relacionadas a XML, 
sequências padronizadas e colunas com valores de auto-
numeração.
● Uma dificuldade encontrada na utilização da linguagem SQL 
por parte dos desenvolvedores ou administradores de 
bancos de dados é a diferença entre os comandos nos 
diversos SGBDs, mesmo após a definição dos padrões. 
Porém, as diferenças não são grandes.
O SQL - Tipos de linguagens
● DDL (Data Definition Language – Linguagem de Definição 
de Dados). 
○ Os comandos DDL são usados para definir a estrutura 
do banco de dados, organizando em tabelas que são 
compostas por campos (colunas). Comandos que 
compõem a DDL: CREATE, ALTER, DROP.
O SQL - Tipos de linguagens
● DML (Data Manipulation Language – Linguagem de 
Manipulação de Dados). 
○ Os comandos DML permitem realizar operações de 
inserção, alteração, exclusão e seleção sobre os 
registros (linhas) das tabelas. Comandos que compõem 
a DML: INSERT, UPDATE, DELETE e SELECT. 
○ Alguns autores definem que o comando SELECT faz 
parte de uma subdivisão chamada DQL (Data Query 
Language – Linguagem de Consulta de Dados).
O SQL - Tipos de linguagens
● DCL (Data Control Language – Linguagem de Controle de 
Dados). Os comandos DCL são usados para gerenciar 
usuários e permissões de acesso ao Sistema Gerenciador 
de Banco de Dados. Comandos que compõem a DCL: 
GRANT e REVOKE.
● Alguns autores ainda definem uma subdivisão da linguagem 
SQL chamada DTL (Data Transaction Languagem – 
Linguagem de Transação de Dados). Uma transação pode 
ser compreendida como um conjunto de comandos que é 
executado de forma atômica, ou seja, ou todos os 
comandos são executados com sucesso ou nenhum dos 
resultados obtidos poreles será mantido no banco de dados.
O SQL - Comandos DDL
CREATE TABLE <nome_da_tabela> (
 <nome_do_campo> <tipo_do_campo> <opções>,
 <nome_do_campo> <tipo_do_campo> <opções>,
 ...
 PRIMARY KEY(<nome_do_campo>)
 INDEX <nome_do_índice>(<nome_do_campo>),
 FOREIGN KEY(<nome_do_campo>)
 REFERENCES <nome_da_tabela_origem>(<nome_do_campo_origem>)
 ON DELETE <opção_de_referencia>
 ON UPDATE <opção_de_referencia>,
);
● <nome_da_tabela>: Nome da tabela a ser criada, não pode haver espaços e acentuações.
● <nome_do_campo>: Nome do campo da tabela, não pode haver espaços e acentuações.
● <tipo_do_campo>: Tipo do campo. Existem tipos padrões, porém existem tipos de campos específicos de cada SGBD.
● <opções>: Padronização do campo (valor padrão, auto incremento, limite numérico, etc...).
● Chave primária: Deve constar o nome do campo (se forma mais de um, separar por vírgula) que compões a chave primária. 
Caso a tabela não contenha uma chave primária, basta suprimir essa linha.
● Índices: Deve constar o nome do índice e o nome do campo (se forma mais de um campo, separar por vírgula) que compões 
o índice. Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A tabela pode conter quantos índices 
forem necessários.
● Chave estrangeira: Deve constar o nome do campo que compões a chave, o nome da tabela de origem e o nome do campo 
da tabela de origem . Caso a tabela não contenha uma chave primária, basta suprimir essa linha. A opção de referência 
define o comportamento entre os registros da tabela (Se apagar na tabela-pai, apaga na tabela-filho, por exemplo).
O SQL - Comandos DDL
CREATE DATABASE
Este comando é utilizado para criar um banco de dados. Exemplo: CREATE DATABASE loja;
USE
Sempre que for necessário manipular as tabelas de um banco de dados no SGBD MySQL, será necessário selecionar o banco 
de dados que se deseja manipular. Para isso, deve ser utilizado o comando USE. Exemplo: USE loja;
CREATE TABLE
Cria uma tabela de dados. Sintaxe: CREATE TABLE <nome_da_tabela> (definição dos campos);
Exemplo:
CREATE TABLE clientes(
cpf integer unsigned not null,
nome varchar(100) not null,
data_nascimento date not null,
sexo char(1) default ‘M’,
salario decimal(10,2) default 0,
profissao varchar(30),
primary key(cpf)
);
Cláusula DEFAULT
A cláusula DEFAULT permite definir um valor padrão para um campo, que será utilizado caso não seja informado nenhum 
valor para esse campo na inserção de um registro na tabela. Exemplo:sexo char(1) default ‘M’,
No exemplo acima, caso o campo “sexo” da tabela não seja preenchido com um valor durante a inserção de um registro, será 
assumido o valor ‘M’ para o campo. Para campos do tipo NUMÉRICO, o valor DEFAULT é escrito sem aspas.
Exemplo: salario decimal(10,2) default 0,
O SQL - Comandos DDL
CONSTRAINTS (limitações, restrições)
● NOT NULL: define que um campo da tabela é obrigatório (deve receber um valor na inserção de um registro);
● PRIMARY KEY: define que um campo ou conjunto de campos para garantir a identidade de cada registro. Quando um 
campo é definido como chave primária, seu valor não pode se repetir em registros diferentes. Cada tabela só pode ter uma 
única chave primária.
○ CHAVE PRIMÁRIA SIMPLES: composta por um único campo. Exemplo: se for definido que em um sistema de hotéis 
não podem existir dois clientes com o mesmo CPF, portanto este campo deverá ser definido como CHAVE 
PRIMÁRIA.
○ CHAVE PRIMÁRIA COMPOSTA: formada por dois ou mais campos. Exemplo: se for definido em um sistema de 
Agências bancárias que não podem existir duas contas com o mesmo número da mesma agência, então esses dois 
campos formarão uma CHAVE PRIMÁRIA COMPOSTA, pois a combinação deles não pode se repetir.
Criação de uma chave primária composta
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero)
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
constraint pk_conta primary key (numero, 
agencia_numero)
);
Sintaxe:
Criação de uma chave primária simples
CREATE TABLE contas(
numero integer not null primary key,
saldo integer default 0,
agencia_numero integer not null
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero)
);
O SQL - Comandos DDL
CONSTRAINTS
● FOREIGN KEY: Uma chave estrangeira é definida quando se deseja relacionar tabelas do banco de dados.
Sintaxe:
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero),
foreign key(agencia_numero) references agencias(numero)
);
Ou
CREATE TABLE contas(
numero integer not null,
saldo integer default 0,
agencia_numero integer not null,
primary key(numero,agencia_numero),
constraint fk_contaagencia foreign key(agencia_numero) references agencias(numero)
);
O SQL - Comandos DDL
CONSTRAINTS
● UNIQUE: Uma constraint UNIQUE definie que o valor de um campo ou de uma sequência de campos não pode se 
repetir em registros da mesma tabela. Essa constraint é criada de forma implícita quando é definida uma chave primária 
para uma tabela. Como só é possível ter uma chave primária por tabela, a utilização de constraints UNIQUE é uma 
solução quando se deseja restringir valores repetidos em outros campos.
Exemplo:
CREATE TABLE clientes(
cpf integer not null,
nome varchar(100) not null,
data_nascimento date not null,
sexo char(1) default ‘M’,
salario decimal(10,2) default 0,
profissao varchar(30),
rg integer not null,
estado char(2) not null,
primary key(cpf),
constraint un_rgestado unique(rg,estado)
);
O SQL - Comandos DDL
DROP TABLE
O comando DROP TABLE é usado para apagar uma tabela do Banco de dados. Sintaxe: DROP TABLE <nome_da_tabela>;
ALTER TABLE
Para não se apagar uma tabela e recriá-la, é possível fazer alterações em sua estrutura por meio do comando ALTER TABLE. Isso 
é importante pois a execução do comando DROP TABLE apaga (obviamente) todos os registros da tabela, já a execução do 
comando ALTER TABLE não exclui nenhum registro.
Adicionar um campo
Sintaxe: ALTER TABLE <nome_da_tabela> ADD <nome_do_campo> <tipo_de_dado> <atributos>
Exemplo: ALTER TABLE clientes ADD endereco varchar(90) not null;
Alterar o tipo de dado de um campo
Sintaxe: ALTER TABLE <nome_da_tabela> MODIFY <nome_do_campo> <tipo_de_dado>
Exemplo: ALTER TABLE clientes MODIFY endereco varchar(200);
Renomear um campo e modificar o tipo
Sintaxe: ALTER TABLE <nome_da_tabela> CHANGE COLUMN <nome_do_campo novo_nome> <tipo>;
O SQL - Comandos DDL
ALTER TABLE
Exemplo para mudar apenas o nome (o tipo do campo é mantido):
ALTER TABLE clientes CHANGE COLUMN data_nascimento datanasc date;
Exemplo para mudar o nome e o tipo do campo:
ALTER TABLE clientes CHANGE COLUMN data_nascimento datahoranasc datetime;
Renomear uma tabela
Sintaxe: ALTER TABLE <nome_da_tabela> RENAME TO <novo_nome_da_tabela>
Exemplo: ALTER TABLE clientes RENAME TO pessoas_fisicas
Apagar um campo
Sintaxe: ALTER TABLE <nome_da_tabela> DROP COLUMN <nome_do_campo>
Exemplo: ALTER TABLE clientes DROP COLUMN endereco;
O SQL - Comandos DDL
ALTER TABLE
Adicionar uma PRIMARY KEY
Sintaxe:
ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> PRIMARY KEY(campo1[,campo2,campo3,...,
campoN])
Exemplo:
ALTER TABLE clientes ADD CONSTRAINT pk_cpf PRIMARY KEY(cpf)
Apagar uma PRIMARY KEY
Sintaxe:
ALTER TABLE <nome_da_tabela> DROP PRIMARY KEY
Ou
ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint_da_primary_key>
Exemplo:
ALTER TABLE clientes DROP PRIMARY KEY;
Ou
ALTER TABLE clientes DROP CONSTRAINT pk_cpf;
O SQL - Comandos DDL
ALTER TABLE
Adicionar uma FOREIGN KEY
Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> FOREIGN KEY(campo1[,campo2,
campo3,...,campoN]) REFERENCES <nome_da_tabela>(campo1[,campo2,campo3,...,campoN]);
Exemplo:
ALTER TABLE contas ADD CONSTRAINT fk_contaagencia FOREIGN KEY(agencia_numero) REFERENCES agencias
(numero);
Adicionar uma constraint UNIQUE
Sintaxe: ALTER TABLE <nome_da_tabela> ADD CONSTRAINT <nome_da_constraint> UNIQUE(campo1[,campo2,campo3,...,
campoN])
Exemplo:
ALTER TABLE clientes ADD CONSTRAINT un_rgestado UNIQUE(rg,estado)
Apagar uma CONSTRAINT qualquer
Sintaxe: ALTER TABLE <nome_da_tabela> DROP CONSTRAINT <nome_da_constraint>
Exemplo:
ALTER TABLE contas DROP CONSTRAINT fk_contaagencia
Comando SHOW TABLES
Para visualizar todas as tabelas em um banco de dados, utilize o comando SHOW TABLES. Exemplo: SHOW TABLES;
Comando DESC
Para visualizar a estrutura de uma tabela, utilize o comando DESC (ou DESCRIBE).
Exemplo: DESC clientes;
O SQL - Exemplo prático
O SQL - Exemplo prático
O SQL - Exemplo prático
CREATE TABLE LIVRO (
 idLIVRO INTEGER UNSIGNED NOT NULL 
AUTO_INCREMENT,
 EXEMPLAR VARCHAR(20) NULL,
 ISBN NUMERIC(20) NULL,
 TITULO VARCHAR(200) NULL,
 AUTORES VARCHAR(500) NULL,
 PRIMARY KEY(idLIVRO)
);
CREATE TABLE INSCRICAO (
 idINSCRICAO INTEGER UNSIGNED NOT NULL 
AUTO_INCREMENT,
 NOME VARCHAR(100) NULL,
 ENDERECO VARCHAR(500) NULL,
 TELEFONE VARCHAR(15) NULL,
 DATA_INSCRICAO DATE NULL,
 PRIMARY KEY(idINSCRICAO)
);
CREATE TABLE RESERVA (
 idRESERVA INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
 LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL,
 INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL,
 DATA_RESERVA DATE NULL,
 PRIMARY KEY(idRESERVA),
 INDEX RESERVA_FKIndex1(INSCRICAO_idINSCRICAO),
 INDEX RESERVA_FKIndex2(LIVRO_idLIVRO),
 FOREIGN KEY(INSCRICAO_idINSCRICAO)
 REFERENCES INSCRICAO(idINSCRICAO)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION,
 FOREIGN KEY(LIVRO_idLIVRO)
 REFERENCES LIVRO(idLIVRO)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION
);
CREATE TABLE REQUISICAO (
 idREQUISICAO INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
 INSCRICAO_idINSCRICAO INTEGER UNSIGNED NOT NULL,
 LIVRO_idLIVRO INTEGER UNSIGNED NOT NULL,
 DATA_REQUISICAO DATE NULL,
 DATA_ENTREGA DATE NULL,
 PRIMARY KEY(idREQUISICAO),
 INDEX REQUISICAO_FKIndex1(INSCRICAO_idINSCRICAO),
 INDEX REQUISICAO_FKIndex2(LIVRO_idLIVRO),
 FOREIGN KEY(INSCRICAO_idINSCRICAO)
 REFERENCES INSCRICAO(idINSCRICAO)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION,
 FOREIGN KEY(LIVRO_idLIVRO)
 REFERENCES LIVRO(idLIVRO)
 ON DELETE NO ACTION
 ON UPDATE NO ACTION
);
O SQL - Manipulando os dados
● A subdivisão da linguagem SQL denominada DML (Data 
Manipulation Language) é composta pelos seguintes 
comandos:
○ INSERT: Inclui registrona tabela.
○ UPDATE: Atualiza registros já existentes na tabela.
○ DELETE: Exclui registros da tabela.
○ SELECT: Recupera registros armazenados na tabela (uma 
ou mais, simultâneamente).
O SQL - Exemplo prático
● INSERT
Sintaxe:
INSERT INTO <nome_da_tabela> (<campo1,campo2,
campo3,...,campoN>) VALUES (<valor1, valor2, 
valor3, ..., valorN>);
● Exemplo:
INSERT INTO livro (EXEMPLAR, ISBN, TITULO, AUTORES) VALUES ('1', 
98012345678, ’Meu Livro’, 'José da Silva');
● Observações:
1) Valores do tipo TEXTO devem ser envolvidos por aspas simples ( ‘ );
2) Valores do tipo numéricos (INTEGER, NUMERIC, DECIMAL, etc..) não são 
envolvidos por aspas simples e devem utilizar o ponto decimal para separação das 
casas decimais no lugar na vírgula. Ex.: 3.25
O SQL - Exemplo prático
● Outra sintaxe do comando INSERT permite ocultar os 
campos e escrever somente os valores que serão inseridos. 
Exemplo:
INSERT INTO livro VALUES ('1', 98012345678, ’Meu Livro’, 'José 
da Silva');
● É possível usar o INSERT para múltiplos registros. Exemplo:
INSERT INTO livro_backup SELECT * FROM livro;
● Observações: Para a execução do comando acima é necessário que os tipos de 
dados dos campos da tabela cidades_backup estejam na mesma ordem dos tipos 
de dados dos campos da tabela cidades.
O SQL - Exemplo prático
● UPDATE
Sintaxe:
UPDATE <nome_da_tabela> SET <campo1 = valor1>, 
<campo2 = valor2>, <campo3 = valor3>, ...,
<campoN = valorN> [ WHERE condições]
● Exemplo:
UPDATE livro SET titulo = ‘O Alienista’;
● O comando UPDATE acima altera o campo titulo de todas os livros para ‘O 
Alienista’.
O SQL - Exemplo prático
● Para restringir a alteração dos registros a um subconjunto 
deles, é utilizada a cláusula WHERE, que permite processar 
uma ou mais condições.
● Exemplo:
UPDATE livro SET
 titulo = ‘O Alienista’,
 Autor = ‘Machado de Assis’
WHERE isbn = 98012345678;
O SQL - Exemplo prático
● DELETE
Sintaxe:
DELETE FROM <nome_da_tabela> [WHERE condições];
● Exemplo:
DELETE FROM livro;
● O comando acima exclui todos os registros da tabela livro. 
Para excluir apenas um subconjunto dos registros, é 
necessário utilizar a cláusula WHERE. Exemplo:
DELETE FROM livro WHERE isbn = 98012345678;
O SQL - Exemplo prático
● SELECT
Sintaxe:
SELECT <campo1>, <campo2>, ..., <campoN> FROM <tabela1>, 
<tabela2>, ..., <tabelaN> [ JOIN <tabela> ON condições]
[ WHERE condições ] [ORDER BY <campos>];
● Exemplos:
Exibir todos os campos de uma tabela
SELECT * FROM livro;
Exibir um campo de uma tabela
SELECT titulo FROM livro;
Exibir mais de um campo de uma tabela
SELECT titulo, autor FROM livro;
O SQL - Exemplo prático
● SELECT
Apelidando campos
SELECT titulo as nome_livro, isbn as isbn_livro FROM livro;
Apelidando tabelas
SELECT titulo, isbn FROM livro as acervo;
Selecionando campos a partir do nome da tabela
SELECT livro.titulo, livro.isbn FROM livro;
Selecionando campos a partir do apelido da tabela
SELECT acervo.titulo, acervo.isbn FROM livro as acervo;
O SQL - Exemplo prático
● Cláusula WHERE
● Igual: =
UPDATE livro SET autor = ‘Machado de Assis’ WHERE isbn = 98012345678;
● Diferente: <>
UPDATE INSCRICAO SET endereco = ‘Rua dos Bobos 0’ WHERE idINSCRICAO <> 1;
● Maior: >
SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO > '2006/07/26';
● Menor: <
SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO < '2006/07/26';
● Maior ou igual: >=
SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO >= '2006/07/26';
● Menor ou igual: <=
SELECT * FROM INSCRICAO WHERE DATA_INSCRICAO <= '2006/07/26';
● IN: Comparação de igualdade com múltiplos valores
SELECT * FROM INSCRICAO WHERE nome IN ('José','Maria','Silveira');
O SQL - Exemplo prático
● Cláusula WHERE
● LIKE: Comparação de partes do texto
SELECT * FROM INSCRICAO WHERE nome LIKE ‘a%’;
Seleciona todos o inscritos cujos nomes iniciam pela letra “a”.
SELECT * FROM INSCRICAO WHERE nome LIKE ‘%o’;
Seleciona todos os inscritos cujos nomes terminam pela letra “o”.
SELECT * FROM INSCRICAO WHERE nome LIKE ‘%a%’;
Seleciona todos os inscritos cujos nomes possuem a letra “a” em qualquer posição (início, meio ou fim).
O SQL - Exemplo prático
● Cláusula WHERE
● Soma: +
UPDATE funcionarios SET salario = salario + 10;
Acrescenta R$ 10,00 ao salário dos funcionários.
● Subtração: -
UPDATE funcionarios SET salario = salario – 5 WHERE salario > 1000;
Subtrai R$ 5,00 do salário dos funcionários que ganham mais de R$ 1000,00.
● Multiplicação: *
UPDATE funcionarios SET salario = salario*1.1;
Aumenta o salário dos funcionários em 10%.
● Divisão: /
UPDATE funcionarios SET salario = salario + salario*(10/100);
Aumenta o salário dos funcionários em 10%.
● IS: Operador especial para comparação de igualdade. Este operador é usado para 
comparação com o valor NULL.
SELECT nome FROM funcionarios WHERE celular IS NULL.
O SQL - Exemplo prático
● Cláusula WHERE
● AND
SELECT * FROM INSCRICAO WHERE nome LIKE ‘a%’ AND
DATA_INSCRICAO <= ‘1980/01/01’;
Seleciona todos os inscritos cujos nomes iniciam pela letra “a” e cujas datas de inscrição são anteriores a 01/01/1980.
● OR
SELECT * FROM livro WHERE isbn='987123' OR isbn ='987456';
Seleciona os livros cujos os ISBN sejam 987123 ou 987456.
● Multiplicação: *
UPDATE funcionarios SET salario = salario*1.1;
Aumenta o salário dos funcionários em 10%.
● NOT
SELECT nome FROM funcionarios WHERE NOT(salario < 1000);
Seleciona o nome dos funcionários que não possuem salário menor que 1000.
O SQL - Exemplo prático
● Junção de tabelas
● Usando a cláusula WHERE
SELECT * FROM REQUISICAO , LIVRO 
WHERE REQUISICAO.LIVRO_idLIVRO = LIVRO.idLIVRO;
Para a junção de tabelas, sempre devem ser escritas as condições entre os campos que estão 
relacionados nas tabelas. Geralmente, essas condições envolvem os campos que são chaves 
estrangeiras de uma tabela e os que são chaves primárias da outra, porém nada impede de serem feitas 
condições entre campos que não são chaves.
● Usando a cláusula JOIN
SELECT * FROM LIVRO INNER JOIN requisicao ON REQUISICAO.
LIVRO_idLIVRO = LIVRO.idLIVRO;
A cláusula INNER JOIN define que serão selecionados somente os registros de uma tabela que possuem 
relação com os registros da outra tabela. 
O SQL - Exemplo prático
● Junção de tabelas
● Usando a cláusula LEFT JOIN
SELECT requisicao.data_requisicao, inscricao.nome
FROM inscricao
LEFT JOIN requisicao ON requisicao.INSCRICAO_idINSCRICAO = inscricao.
idINSCRICAO;
Para interpretar o LEFT JOIN, faz-se a pergunta: qual tabela está à esquerda do JOIN? No comando acima, a tabela que 
está à esquerda da cláusula JOIN é a tabela inscricao. Portanto, serão selecionados todos os registros da tabela inscricao 
estando ou não relacionados com a tabela requisicao pelo camp o de chave primária.
● Usando a cláusula RIGHT JOIN
SELECT requisicao.data_requisicao, inscricao.nome
FROM inscricao
RIGHT JOIN requisicao ON requisicao.INSCRICAO_idINSCRICAO = inscricao.
idINSCRICAO;
Para interpretar o RIGHT JOIN, faz-se a pergunta: qual tabela está à direita do JOIN? A tabela requisicao. Portanto, serão 
selecionados todos os registros da tabela requisicao que estão ou não relacionados com os registros da tabela inscricao.
O SQL - Exemplo prático
● Cláusula ORDER BY
Sintaxe:
SELECT ... ORDER BY <campo1>, <campo2>, <campoN> ... [desc|asc]
● Exemplos:
Seleciona os livros cujos títulos iniciam pela letra “a” e ordena a lista primeiramente pelo autor e, em seguida, pelos títulos dos livros.
SELECT * FROM livro WHERE titulo LIKE ‘a%’ ORDER BY autor, 
titulo;
Seleciona todos os livros ordenando decrescentemente pelo título e, se houver repetição de valores, obedece à ordem crescente do autor.
SELECT * FROM livro ORDER BY titulo DESC, autor;
Seleciona todos os livros ordenando crescentemente pelo título e, se houver repetição de valores, obedece à ordem decrescente do nome do autor.
SELECT * FROM livro ORDER BY titulo, autor DESC;
Concluindo
● É importante possuir uma documentação mínima sobre o 
banco de dados para poder se localizar e fazer a 
manutenção do mesmo.
● Conhecerpelo menos um tipo de modelo de banco de 
dados facilita a interatividade entre ferramentas e a 
comunicação com os profissionais envolvidos com o 
sistema.
● Decorar comandos não é o importante. O importante é 
saber o funcionamento!

Continue navegando