SlideShare uma empresa Scribd logo
1 de 63
Banco de Dados
Jorge Ávila
Insert
 Já demonstramos como criar uma tabela no

banco de dados, agora mostraremos as maneiras
básicas de se inserir dados nessa tabela. O
comando usado para inserir dados é o INSERT.
 A síntese básica do comando INSERT é a
seguinte:
INSERT INTO <nome da tabela>
(campo1, campo2) VALUES (valor1, valor2);
 Cada valor é inserido no campo que corresponde

à posição do valor na lista:
 valor1 é inserido no campo1, valor2 no campo2 e
assim por diante.
Insert
 OBS:
 Os valores devem ser separados com uma

vírgula e se o tipo do campo for texto deve está
entre aspas duplas ou simples.
 EX:
 Vamos usar como exemplo a tabela “cliente” que

criamos no banco de dados “venda”, se você não
criou essa tabela volte para página antes do
exercício onde estão os códigos da criação. Mas
antes de inserir os dados na tabela é bom ver
quais os campos existentes, o comando usado
pode ser o DESCRIBE.
Insert
 Agora vamos inserir na coluna nome “Francisco”

no endereço “Rua: 24 de Maio nº 324” e na
cidade “Fortaleza”.
 Observe que não é preciso inserir dados no
campo “cliente_id”, pois ele foi definido como
AUTO_INCREMENT.
Insert
Insert
 Temos também a opção de omitir as declarações

dos campos. Essa sintaxe funciona somente se
forem repassados valores para todas as colunas.
INSERT INTO <nome da tabela> VALUES
(valor1, valor2, valor3,…);
 Cada valor é inserido no campo que corresponde

a sequência das colunas na tabela, se a primeira
coluna, por exemplo, for o nome então o valo1
deve ser o nome, se a segunda coluna, por
exemplo, for idade então o valor2 deve ser a
idade e assim por diante.
Insert
 OBS:
 Se a coluna for declarada como

AUTO_INCREMENT basta você colocar o valor
que corresponde a essa coluna como sendo
zero(0). O valor zero(0) não influencia em nada
porem se ele for esquecido vai ser gerado um
erro.
 EX:
 Vamos usar como exemplo a mesma tabela que

usamos no exemplo anterior do banco de dados
“venda” que é a tabela “cliente”, porém não vai ser
preciso mencionar os nomes dos campos basta
repassar valores para todas as colunas.
Insert
 Vamos inserir o cliente “Pedro” que mora na “Av.

Augusto dos Anjos nº 2674” na cidade de
“Fortaleza”. Observe que o primeiro valor que
iremos inserir será zero(0), isso porque a primeira
coluna é “cliente_id” que foi declarada como
AUTO_INCREMENT.
Select
 O comando SQL que nos permite realizar

consultas ao banco de dados é o comando
SELECT.
 EX:

SELECT * FROM DEPT;
 O exemplo utiliza o coringa "*" para

selecionar as colunas na ordem em que
foram criadas.
 A instrução Select, como pudemos observar
seleciona um grupo de registros de uma (ou
mais) tabela(s).
 No caso a instrução From nos indica a
Select
 Where como base das Restrição de tuplas.
 A cláusula "where" corresponde ao operador restrição

da álgebra relacional.
 Contém a condição que as tuplas devem obedecer a fim
de serem listadas. Ela pode comparar valores em
colunas, literais, expressões aritméticas ou funções.
 Operadores lógicos:

operador significado
=
igual a
>
maior que
>=
maior que ou igual a
<
menor que
<=
menor que ou igual a
Select
 Exemplos:

SELECT EMPNOME, EMPSERV
FROM EMP
WHERE DEPNUME > 10;

SELECT EMPNOME, EMPSERV
FROM EMP
WHERE EMPSERV = 'GERENTE';
O conjunto de caracteres ou datas devem estar entre
apóstrofes („) na cláusula "where".
Select
 Selecione todos os departamentos cujo

orçamento mensal seja maior que 100000.
Apresente o Nome de tal departamento e seu
orçamento anual, que será obtido multiplicandose o orçamento mensal por 12.
SELECT DEPNOME, DEPORCA * 12
FROM DEPT
WHERE DEPORCA > 100000;
Select
 Apresente todos os salários existentes na

empresa, porém omita eventuais duplicidades.
 A cláusula Distinct elimina

duplicidades, significando que somente relações
distintas serão apresentadas como resultado de
uma pesquisa.
SELECT DISTINCT EMPSERV
FROM EMP;
Select
 ORDER BY:
 Até o momento vimos como obter dados de uma

tabela utilizando os comandos SELECT e WHERE.
 Porém, frequentemente precisamos listar os dados
por uma ordem em particular. Pode ser por ordem
ascendente ou descendente. Para isso podemos
utilizar a cláusula ORDER BY para ordenar os
dados. A sintaxe básica da cláusula ORDER BY é a
seguinte:
SELECT < coluna > FROM < tabela > ORDER BY < coluna
>;
OBS
 Por padrão o ORDER BY vem como ASC

significa que os resultados serão
apresentados por ordem ascendente, ou seja,
do menor para o maior.
 Mais também pode ser DESC significa que os
resultados serão apresentados por ordem
descendente, para isso acontecer você
precisa declara-lo.
Exemplo
 Como exemplo irei usar uma tabela que criei

anteriormente chamada produto:
Exemplo
 Perceba que a tabela possui 8 produtos

cadastrados, suponhamos que eu preciso ver os
preços de forma ascendente, então iremos
selecionar o nome e o preço ordenado pelo
próprio preço, veja como ficou:
Exemplo
 Podemos também ordenar os dados de outras

maneiras, se eu quero ver os nomes e o preço
dos produtos em ordem alfabética basta ordenar
pelo nome de forma ascendente.
Exemplo
 Também posso em vez de colocar o nome da

coluna que eu quero ordenar basta colocar o
numero dela na sequencia selecionada, por
exemplo, se eu selecionei nome e preço então
nome é 1 e preço é 2 e assim por diante:
INSTRUÇÕES DML – UPDATE
 O comando para atualizar os dados é

UPDATE, ele possui a seguinte sintaxe:
UPDATE < tabela > SET < campo > = “novo
valor” WHERE < condição > ;
tabela: nome da tabela que será modificada
set: define qual campo será alterado
campo: campo que terá seu valor alterado
novo valor: valor que substituirá o antigo dado
cadastrado em campo
 where: se não for informado, a tabela inteira será
atualizada
 condição: regra que impõe condição para
execução do comando




EXEMPLO
 Como exemplo usaremos a tabela cliente que foi

usada nos exemplos anteriores.
 Suponhamos que o cliente de nome Francisco se
mudou, então precisamos atualizar o seu registro
colocando o seu novo endereço.
EXEMPLO
UPDATE
 Também podemos alterar mais de um campo de

uma vez. Suponhamos que o cliente Pedro se
mudou para outra cidade, precisamos alterar o
endereço e a cidade atual, não precisamos criar
dois UPDATES basta separa-los por vírgula.
UPDATE < tabela > SET < campo1 > =
“valor1”, < campo2 > = “valor2” WHERE <
condição > ;
Exemplo
ALTER
 Começamos com a tabela hipotética clientes, criada com

os seguintes parâmetros:
create table clientes(
id int unsigned not null auto_increment primary key,
nome char(80) not null,
fone int not null,
endereco char(160) not null);
O comando básico para se alterar colunas é o ALTER
TABLE, seguido do nome da tabela. Então, qualquer query
de alteração da nossa tabela clientes começará da seguinte
forma:

ALTER TABLE clientes
ALTER
 Adicionando colunas:

Para adicionar colunas a uma tabela MySQL use o
comando ADD, seguido do nome e dos atributos da
coluna que será adicionada, e da sua posição dentro
da tabela, com o auxílio do parâmetro AFTER.
Considerando que adicionaremos a coluna email à
tabela clientes, nosso código fica assim:
ALTER TABLE clientes ADD email char(80) not null
AFTER fone;
Para ver o resultado das alterações, dê o comando
DESCRIBE clientes.
ALTER
 Eliminando colunas:

O comando básico para se eliminar colunas de
uma tabela é DROP, seguido do nome da coluna.
Use este comando com cuidado, pois todas
as informações contidas dentro da coluna serão
perdidas. Assim, para eliminar nossa recém
criada coluna email, usaremos a seguinte query:
ALTER TABLE clientes DROP email;
ALTER
 Alterando colunas:

O comando básico para alteração de atributos e nome de colunas é
CHANGE, seguida da denominação da coluna a ser alterada e dos
novos atributos. Para mudar os atributos da coluna fone, utilizaremos a
seguinte query:
ALTER TABLE clientes CHANGE fone fone char(30) not null;
Vocês devem ter percebido que a palavra 'fone' foi utilizada duas vezes.
Isso ocorre porque se indica primeiro a coluna e depois seus novos
atributos, e o nome da coluna é um de seus atributos.
Supomos que queiramos agora somente mudar o nome da coluna, e
manter seus demais atributos:
ALTER TABLE clientes CHANGE fone telefone char(30) not null;
Veja as alterações com DESCRIBE clientes;
Muito cuidado ao se alterar atributos de colunas, especialmente
datatypes, pois todas as informações que não podem ser interpretadas
como características do novo datatype serão perdidas.
Como excluir ou limpar tabelas
com Foreign Keys no MySQL
 Esta é uma dica rápida para quem tiver problemas

em excluir ou limpar tabelas no MySQL que possuam
chaves estrangeiras.
 obterá os respectivos erros:

 Solução: adicionar a seguinte linha antes do

comanto DROP ou TRUNCATE:
 SET FOREIGN_KEY_CHECKS=0;
 Exemplo:
 SET FOREIGN_KEY_CHECKS=0;

TRUNCATE `user`;
 ou
 SET FOREIGN_KEY_CHECKS=0;
DROP TABLE `user`;
OBS
 Devemos passar sempre o WHERE, que é

uma espécie de filtro em nossa tabela, porque
senão o passarmos atualizaremos TODOS os
dados da tabela e isso pode acarretar
diversos problemas, dependendo do tamanho
e da complexidade da sua tabela.
 Imagina se esquecermos de colocar uma
condição em uma tabela de 1.000 registros e
alterarmos todos os endereços dos clientes
para um só.
INSTRUÇÕES DML – DELETE
 A forma mais simples de se fazer um DELETE é

excluindo todos os dados de uma tabela. A
síntese básica é:
DELETE FROM < nome da tabela >;
 Se não for especificada nenhuma condição então
serão excluídos todos os dados da tabela, porém
se você quer excluir somente um registro é
preciso usar a cláusula WHERE informando qual
será a condição para deletar.
 DELETE FROM < nome da tabela > WHERE <
condição >;
OBS
 Lembre-se que este comando, assim como o

UPDATE, pode ser perigoso em algumas
situações, já que, uma vez executado esses
comandos, não será possível desfazer a ação
realizada.
 Portanto, devemos ficar atentos ao usar esses
comandos em tabelas complexas.
EXEMPLO
 Como exemplo vamos usar a mesma tabela que

usamos nos comandos INSERT, SELECT e
UPDATE, que é a tabela cliente do banco de
dados venda.
 Suponhamos que o Francisco não é mais o
nosso cliente, então devemos exclui-lo da nossa
tabela, para isso usamos o comando DELETE.
EXEMPLO
 Perceba que usei a condição referenciando o

cliente-id. Em banco de dados todo registro deve
possuir o seu código, quando vamos alterar ou
excluir um registro é bom que coloquemos como
condição o código do registro, porque o nome
pode ser que apareça outro igual, mais o código
não.
INSTRUÇÕES DDL – DROP
 O comando DROP é usado para excluir tabelas

ou banco de dados, ele é bastante simples de se
escrever, porém deve ser usado com
prudência, pois uma vez excluído uma tabela ou
um banco de dados a ação não pode ser
desfeito.
 Por isso aconselho somente ser usado por quem
criou o banco de dados.
INSTRUÇÕES DDL – DROP
 Com o comando DROP é possível, por

exemplo:
 Excluir Tabelas:
 Para que você possa excluir uma tabela é preciso

que ela exista dentro do banco de dados.
Normalmente primeiro usamos o comando
SHOW TABLES, para saber as tabelas que
existem dentro do BD. Após usamos o comando
DROP TABLE <nome da tabela>;
 Muitos se confundem entre o DELETE e o DROP. O

comando DELETE éusado para manipulação e não para
definição dos dados, ou seja, o DELETE remove os
registros enquanto que o DROP remove a estrutura.
Exemplo
 Vamos usar como exemplo o BD escola. Perceba

que criamos duas tabelas uma se chama aluno e
a outra novo_aluno, não é preciso que tenhamos
essas duas tabelas em nosso banco então
vamos excluir a tabela novo_aluno.
Excluir Banco de Dados
 Assim como para excluir tabelas é preciso ver

quais existem no BD, para excluir banco de
dados é bom ver quais os bancos de dados
existentes dentro do SGBD, o comando usado é
SHOW DATABASES.
 Mas se você não quer perder tempo olhando os
bancos de dados existentes é só acrescentar IF
EXISTS após o comando DROP DATABASE.
Assim:
DROP DATABASE IF EXISTS <nome do banco
de dados>;
OBS: IF EXISTS é utilizado para impedir a
ocorrência de erros, se o banco de dados ou a
tabela não existirem. Porém não é obrigatório o
Exemplo
 Vamos usar como

exemplo o banco de
dados test que veio junto
da instalação.
 Esse BD é geralmente
fornecido como um
espaço de trabalho para
usuários fazerem testes
como não precisamos
dele posso exclui-lo.
Exemplo
 Como exemplo usaremos a tabela produto do

banco de dados venda, que criamos em
exemplos anteriores.
Exemplo Contagem (COUNT)
 SELECT COUNT(campo) FROM < nome da

tabela > ;
Exemplo SOMA (SUM)
 SELECT SUM(campo) FROM < nome da tabela

>;
Exemplo Máximo (MAX)
 SELECT MAX(campo) FROM < nome da tabela

>;
Exemplo Mínimo (MIN)
 SELECT MIN(campo) FROM < nome da tabela

>;
Exemplo Média (AVG)
 SELECT AVG(campo) FROM < nome da tabela

>;
Exemplo LIKE
 Com este operador, podemos comparar Strings.

O percentual (%) substitui nenhum, um ou mais
caracteres, já a sublinha (_) substitui somente um
caractere.
 Utilizando a combinação desses caracteres
especiais com o que se quer localizar, pode-se
conseguir uma variedade muito grande de
expressões.
 Veja na tabela a seguir algumas possíveis
combinações:
EXEMPLO
 SELECT * FROM contatos WHERE nome LIKE

' < condição > ' ;
EXEMPLO
 SELECT * FROM contatos WHERE nome LIKE

' < condição > ' ;
Utilizando AND / OR
 O operador AND exibe os registros se tanto a

primeira condição como a segunda condição for
verdadeira.
 O operador OR exibe os registros se a primeira
condição ou a segunda for verdadeira.
 Esses operadores são usados para filtrar
registros com base em mais de uma condição.
Exemplo
AND
OR
Exemplo BETWEEN
 O comando BETWEEN permite fazer a seleção

de um intervalo, entre um e outro. A sintaxe da
cláusula BETWEEN é a seguinte:
SELECT * FROM alunos WHERE idade
BETWEEN 10 AND 20;
 Este comando irá selecionar todas as linhas cuja
coluna tiver um valor entre 10 e 20. Os valores
podem ser números, texto ou datas. Poderíamos
de outra forma obter o mesmo resultado que
seria:
SELECT * FROM alunos WHERE idade > = 10
AND idade < = 20;
Exemplo
Exemplo
EXERCICIO PG(110,111,112)
jorgeavila11.wordpress.com
Gostou ?
Compartilha...

Mais conteúdo relacionado

Mais procurados (19)

Aprofundamento de DDL e DML
Aprofundamento de DDL e DMLAprofundamento de DDL e DML
Aprofundamento de DDL e DML
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
Microsoft Access
Microsoft AccessMicrosoft Access
Microsoft Access
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Aula10 sql-ddl
Aula10 sql-ddlAula10 sql-ddl
Aula10 sql-ddl
 
Aula de Reforço Access
Aula de Reforço Access Aula de Reforço Access
Aula de Reforço Access
 
Aula1
Aula1Aula1
Aula1
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normais
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Apostilaexcel1 2007
Apostilaexcel1 2007Apostilaexcel1 2007
Apostilaexcel1 2007
 
Access
AccessAccess
Access
 
SQL DDL
SQL DDLSQL DDL
SQL DDL
 
Apostila de sql oracle
Apostila de sql oracleApostila de sql oracle
Apostila de sql oracle
 
Manual microsoft-access-2007
Manual microsoft-access-2007Manual microsoft-access-2007
Manual microsoft-access-2007
 
Excel truques magicos
Excel truques magicosExcel truques magicos
Excel truques magicos
 

Destaque (20)

Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
Aula 3 banco de dados
Aula 3   banco de dadosAula 3   banco de dados
Aula 3 banco de dados
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
Aula 6 banco de dados
Aula 6   banco de dadosAula 6   banco de dados
Aula 6 banco de dados
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Aula 1
Aula 1Aula 1
Aula 1
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Aula03
Aula03Aula03
Aula03
 
Aula 8 semana
Aula 8 semanaAula 8 semana
Aula 8 semana
 
Aula 5 semana
Aula 5 semanaAula 5 semana
Aula 5 semana
 
Aula 3 semana
Aula 3 semanaAula 3 semana
Aula 3 semana
 
Aula 4 semana
Aula 4 semanaAula 4 semana
Aula 4 semana
 
Semana11
Semana11Semana11
Semana11
 
Aula 2 semana
Aula 2 semanaAula 2 semana
Aula 2 semana
 
Aula 1 semana
Aula 1 semanaAula 1 semana
Aula 1 semana
 
Aula 7 semana
Aula 7 semanaAula 7 semana
Aula 7 semana
 
Aula 6 semana
Aula 6 semanaAula 6 semana
Aula 6 semana
 
Aula 06
Aula 06Aula 06
Aula 06
 
Aula 08
Aula 08Aula 08
Aula 08
 

Semelhante a Aula 12 banco de dados

Semelhante a Aula 12 banco de dados (20)

06 Trabalhando com registros
06 Trabalhando com registros06 Trabalhando com registros
06 Trabalhando com registros
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
 
Revisao_SQL_Parte_I.ppt
Revisao_SQL_Parte_I.pptRevisao_SQL_Parte_I.ppt
Revisao_SQL_Parte_I.ppt
 
Principais instruções em sql
Principais instruções em sqlPrincipais instruções em sql
Principais instruções em sql
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
apostila-de-sql
apostila-de-sqlapostila-de-sql
apostila-de-sql
 
Apostila de sql_-_oracle__pt_br_
Apostila de sql_-_oracle__pt_br_Apostila de sql_-_oracle__pt_br_
Apostila de sql_-_oracle__pt_br_
 
apostila de sql - oracle
 apostila de sql - oracle  apostila de sql - oracle
apostila de sql - oracle
 
Sql junções
Sql junçõesSql junções
Sql junções
 
Apostila de sql oracle (pt br)
Apostila de sql   oracle (pt br)Apostila de sql   oracle (pt br)
Apostila de sql oracle (pt br)
 
At00 apostila sql
At00   apostila sqlAt00   apostila sql
At00 apostila sql
 
Excel Intermediário
Excel IntermediárioExcel Intermediário
Excel Intermediário
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#
 
Aula7 sql basico_6por_pag
Aula7 sql basico_6por_pagAula7 sql basico_6por_pag
Aula7 sql basico_6por_pag
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
Sql linguagem
Sql linguagemSql linguagem
Sql linguagem
 
Curso SQL Server 2005
Curso SQL Server 2005Curso SQL Server 2005
Curso SQL Server 2005
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Aula 300309
Aula 300309Aula 300309
Aula 300309
 

Mais de Jorge Ávila Miranda (20)

Aula16 - Jquery
Aula16 - JqueryAula16 - Jquery
Aula16 - Jquery
 
Aula15 - Array PHP
Aula15 - Array PHPAula15 - Array PHP
Aula15 - Array PHP
 
Aula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHPAula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHP
 
Aula14 - Funções em PHP
Aula14 - Funções em PHPAula14 - Funções em PHP
Aula14 - Funções em PHP
 
Aula Herança
Aula HerançaAula Herança
Aula Herança
 
Aula05 - Poojava
Aula05 - PoojavaAula05 - Poojava
Aula05 - Poojava
 
Aula12- PHP
Aula12- PHPAula12- PHP
Aula12- PHP
 
Aula11 - PHP
Aula11 - PHPAula11 - PHP
Aula11 - PHP
 
Aula10 -PHP
Aula10 -PHPAula10 -PHP
Aula10 -PHP
 
Aula09 - Java Script
Aula09 - Java ScriptAula09 - Java Script
Aula09 - Java Script
 
Aula08 - Java Script
Aula08 - Java ScriptAula08 - Java Script
Aula08 - Java Script
 
Aula07 - JavaScript
Aula07 - JavaScriptAula07 - JavaScript
Aula07 - JavaScript
 
Aula04-POOJAVA
Aula04-POOJAVAAula04-POOJAVA
Aula04-POOJAVA
 
Aula06 - JavaScript
Aula06 - JavaScriptAula06 - JavaScript
Aula06 - JavaScript
 
Aula05-JavaScript
Aula05-JavaScriptAula05-JavaScript
Aula05-JavaScript
 
Aula04-JavaScript
Aula04-JavaScriptAula04-JavaScript
Aula04-JavaScript
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
 

Aula 12 banco de dados

  • 2. Insert  Já demonstramos como criar uma tabela no banco de dados, agora mostraremos as maneiras básicas de se inserir dados nessa tabela. O comando usado para inserir dados é o INSERT.  A síntese básica do comando INSERT é a seguinte: INSERT INTO <nome da tabela> (campo1, campo2) VALUES (valor1, valor2);  Cada valor é inserido no campo que corresponde à posição do valor na lista:  valor1 é inserido no campo1, valor2 no campo2 e assim por diante.
  • 3. Insert  OBS:  Os valores devem ser separados com uma vírgula e se o tipo do campo for texto deve está entre aspas duplas ou simples.  EX:  Vamos usar como exemplo a tabela “cliente” que criamos no banco de dados “venda”, se você não criou essa tabela volte para página antes do exercício onde estão os códigos da criação. Mas antes de inserir os dados na tabela é bom ver quais os campos existentes, o comando usado pode ser o DESCRIBE.
  • 4. Insert  Agora vamos inserir na coluna nome “Francisco” no endereço “Rua: 24 de Maio nº 324” e na cidade “Fortaleza”.  Observe que não é preciso inserir dados no campo “cliente_id”, pois ele foi definido como AUTO_INCREMENT.
  • 6. Insert  Temos também a opção de omitir as declarações dos campos. Essa sintaxe funciona somente se forem repassados valores para todas as colunas. INSERT INTO <nome da tabela> VALUES (valor1, valor2, valor3,…);  Cada valor é inserido no campo que corresponde a sequência das colunas na tabela, se a primeira coluna, por exemplo, for o nome então o valo1 deve ser o nome, se a segunda coluna, por exemplo, for idade então o valor2 deve ser a idade e assim por diante.
  • 7. Insert  OBS:  Se a coluna for declarada como AUTO_INCREMENT basta você colocar o valor que corresponde a essa coluna como sendo zero(0). O valor zero(0) não influencia em nada porem se ele for esquecido vai ser gerado um erro.  EX:  Vamos usar como exemplo a mesma tabela que usamos no exemplo anterior do banco de dados “venda” que é a tabela “cliente”, porém não vai ser preciso mencionar os nomes dos campos basta repassar valores para todas as colunas.
  • 8. Insert  Vamos inserir o cliente “Pedro” que mora na “Av. Augusto dos Anjos nº 2674” na cidade de “Fortaleza”. Observe que o primeiro valor que iremos inserir será zero(0), isso porque a primeira coluna é “cliente_id” que foi declarada como AUTO_INCREMENT.
  • 9. Select  O comando SQL que nos permite realizar consultas ao banco de dados é o comando SELECT.  EX: SELECT * FROM DEPT;  O exemplo utiliza o coringa "*" para selecionar as colunas na ordem em que foram criadas.  A instrução Select, como pudemos observar seleciona um grupo de registros de uma (ou mais) tabela(s).  No caso a instrução From nos indica a
  • 10. Select  Where como base das Restrição de tuplas.  A cláusula "where" corresponde ao operador restrição da álgebra relacional.  Contém a condição que as tuplas devem obedecer a fim de serem listadas. Ela pode comparar valores em colunas, literais, expressões aritméticas ou funções.  Operadores lógicos: operador significado = igual a > maior que >= maior que ou igual a < menor que <= menor que ou igual a
  • 11. Select  Exemplos: SELECT EMPNOME, EMPSERV FROM EMP WHERE DEPNUME > 10; SELECT EMPNOME, EMPSERV FROM EMP WHERE EMPSERV = 'GERENTE'; O conjunto de caracteres ou datas devem estar entre apóstrofes („) na cláusula "where".
  • 12. Select  Selecione todos os departamentos cujo orçamento mensal seja maior que 100000. Apresente o Nome de tal departamento e seu orçamento anual, que será obtido multiplicandose o orçamento mensal por 12. SELECT DEPNOME, DEPORCA * 12 FROM DEPT WHERE DEPORCA > 100000;
  • 13. Select  Apresente todos os salários existentes na empresa, porém omita eventuais duplicidades.  A cláusula Distinct elimina duplicidades, significando que somente relações distintas serão apresentadas como resultado de uma pesquisa. SELECT DISTINCT EMPSERV FROM EMP;
  • 14. Select  ORDER BY:  Até o momento vimos como obter dados de uma tabela utilizando os comandos SELECT e WHERE.  Porém, frequentemente precisamos listar os dados por uma ordem em particular. Pode ser por ordem ascendente ou descendente. Para isso podemos utilizar a cláusula ORDER BY para ordenar os dados. A sintaxe básica da cláusula ORDER BY é a seguinte: SELECT < coluna > FROM < tabela > ORDER BY < coluna >;
  • 15. OBS  Por padrão o ORDER BY vem como ASC significa que os resultados serão apresentados por ordem ascendente, ou seja, do menor para o maior.  Mais também pode ser DESC significa que os resultados serão apresentados por ordem descendente, para isso acontecer você precisa declara-lo.
  • 16. Exemplo  Como exemplo irei usar uma tabela que criei anteriormente chamada produto:
  • 17. Exemplo  Perceba que a tabela possui 8 produtos cadastrados, suponhamos que eu preciso ver os preços de forma ascendente, então iremos selecionar o nome e o preço ordenado pelo próprio preço, veja como ficou:
  • 18. Exemplo  Podemos também ordenar os dados de outras maneiras, se eu quero ver os nomes e o preço dos produtos em ordem alfabética basta ordenar pelo nome de forma ascendente.
  • 19. Exemplo  Também posso em vez de colocar o nome da coluna que eu quero ordenar basta colocar o numero dela na sequencia selecionada, por exemplo, se eu selecionei nome e preço então nome é 1 e preço é 2 e assim por diante:
  • 20. INSTRUÇÕES DML – UPDATE  O comando para atualizar os dados é UPDATE, ele possui a seguinte sintaxe: UPDATE < tabela > SET < campo > = “novo valor” WHERE < condição > ; tabela: nome da tabela que será modificada set: define qual campo será alterado campo: campo que terá seu valor alterado novo valor: valor que substituirá o antigo dado cadastrado em campo  where: se não for informado, a tabela inteira será atualizada  condição: regra que impõe condição para execução do comando    
  • 21. EXEMPLO  Como exemplo usaremos a tabela cliente que foi usada nos exemplos anteriores.  Suponhamos que o cliente de nome Francisco se mudou, então precisamos atualizar o seu registro colocando o seu novo endereço.
  • 23. UPDATE  Também podemos alterar mais de um campo de uma vez. Suponhamos que o cliente Pedro se mudou para outra cidade, precisamos alterar o endereço e a cidade atual, não precisamos criar dois UPDATES basta separa-los por vírgula. UPDATE < tabela > SET < campo1 > = “valor1”, < campo2 > = “valor2” WHERE < condição > ;
  • 25. ALTER  Começamos com a tabela hipotética clientes, criada com os seguintes parâmetros: create table clientes( id int unsigned not null auto_increment primary key, nome char(80) not null, fone int not null, endereco char(160) not null); O comando básico para se alterar colunas é o ALTER TABLE, seguido do nome da tabela. Então, qualquer query de alteração da nossa tabela clientes começará da seguinte forma: ALTER TABLE clientes
  • 26. ALTER  Adicionando colunas: Para adicionar colunas a uma tabela MySQL use o comando ADD, seguido do nome e dos atributos da coluna que será adicionada, e da sua posição dentro da tabela, com o auxílio do parâmetro AFTER. Considerando que adicionaremos a coluna email à tabela clientes, nosso código fica assim: ALTER TABLE clientes ADD email char(80) not null AFTER fone; Para ver o resultado das alterações, dê o comando DESCRIBE clientes.
  • 27. ALTER  Eliminando colunas: O comando básico para se eliminar colunas de uma tabela é DROP, seguido do nome da coluna. Use este comando com cuidado, pois todas as informações contidas dentro da coluna serão perdidas. Assim, para eliminar nossa recém criada coluna email, usaremos a seguinte query: ALTER TABLE clientes DROP email;
  • 28. ALTER  Alterando colunas: O comando básico para alteração de atributos e nome de colunas é CHANGE, seguida da denominação da coluna a ser alterada e dos novos atributos. Para mudar os atributos da coluna fone, utilizaremos a seguinte query: ALTER TABLE clientes CHANGE fone fone char(30) not null; Vocês devem ter percebido que a palavra 'fone' foi utilizada duas vezes. Isso ocorre porque se indica primeiro a coluna e depois seus novos atributos, e o nome da coluna é um de seus atributos. Supomos que queiramos agora somente mudar o nome da coluna, e manter seus demais atributos: ALTER TABLE clientes CHANGE fone telefone char(30) not null; Veja as alterações com DESCRIBE clientes; Muito cuidado ao se alterar atributos de colunas, especialmente datatypes, pois todas as informações que não podem ser interpretadas como características do novo datatype serão perdidas.
  • 29. Como excluir ou limpar tabelas com Foreign Keys no MySQL  Esta é uma dica rápida para quem tiver problemas em excluir ou limpar tabelas no MySQL que possuam chaves estrangeiras.  obterá os respectivos erros:  Solução: adicionar a seguinte linha antes do comanto DROP ou TRUNCATE:  SET FOREIGN_KEY_CHECKS=0;  Exemplo:  SET FOREIGN_KEY_CHECKS=0; TRUNCATE `user`;  ou  SET FOREIGN_KEY_CHECKS=0; DROP TABLE `user`;
  • 30. OBS  Devemos passar sempre o WHERE, que é uma espécie de filtro em nossa tabela, porque senão o passarmos atualizaremos TODOS os dados da tabela e isso pode acarretar diversos problemas, dependendo do tamanho e da complexidade da sua tabela.  Imagina se esquecermos de colocar uma condição em uma tabela de 1.000 registros e alterarmos todos os endereços dos clientes para um só.
  • 31. INSTRUÇÕES DML – DELETE  A forma mais simples de se fazer um DELETE é excluindo todos os dados de uma tabela. A síntese básica é: DELETE FROM < nome da tabela >;  Se não for especificada nenhuma condição então serão excluídos todos os dados da tabela, porém se você quer excluir somente um registro é preciso usar a cláusula WHERE informando qual será a condição para deletar.  DELETE FROM < nome da tabela > WHERE < condição >;
  • 32. OBS  Lembre-se que este comando, assim como o UPDATE, pode ser perigoso em algumas situações, já que, uma vez executado esses comandos, não será possível desfazer a ação realizada.  Portanto, devemos ficar atentos ao usar esses comandos em tabelas complexas.
  • 33. EXEMPLO  Como exemplo vamos usar a mesma tabela que usamos nos comandos INSERT, SELECT e UPDATE, que é a tabela cliente do banco de dados venda.  Suponhamos que o Francisco não é mais o nosso cliente, então devemos exclui-lo da nossa tabela, para isso usamos o comando DELETE.
  • 34. EXEMPLO  Perceba que usei a condição referenciando o cliente-id. Em banco de dados todo registro deve possuir o seu código, quando vamos alterar ou excluir um registro é bom que coloquemos como condição o código do registro, porque o nome pode ser que apareça outro igual, mais o código não.
  • 35. INSTRUÇÕES DDL – DROP  O comando DROP é usado para excluir tabelas ou banco de dados, ele é bastante simples de se escrever, porém deve ser usado com prudência, pois uma vez excluído uma tabela ou um banco de dados a ação não pode ser desfeito.  Por isso aconselho somente ser usado por quem criou o banco de dados.
  • 36. INSTRUÇÕES DDL – DROP  Com o comando DROP é possível, por exemplo:  Excluir Tabelas:  Para que você possa excluir uma tabela é preciso que ela exista dentro do banco de dados. Normalmente primeiro usamos o comando SHOW TABLES, para saber as tabelas que existem dentro do BD. Após usamos o comando DROP TABLE <nome da tabela>;  Muitos se confundem entre o DELETE e o DROP. O comando DELETE éusado para manipulação e não para definição dos dados, ou seja, o DELETE remove os registros enquanto que o DROP remove a estrutura.
  • 37. Exemplo  Vamos usar como exemplo o BD escola. Perceba que criamos duas tabelas uma se chama aluno e a outra novo_aluno, não é preciso que tenhamos essas duas tabelas em nosso banco então vamos excluir a tabela novo_aluno.
  • 38. Excluir Banco de Dados  Assim como para excluir tabelas é preciso ver quais existem no BD, para excluir banco de dados é bom ver quais os bancos de dados existentes dentro do SGBD, o comando usado é SHOW DATABASES.  Mas se você não quer perder tempo olhando os bancos de dados existentes é só acrescentar IF EXISTS após o comando DROP DATABASE. Assim: DROP DATABASE IF EXISTS <nome do banco de dados>; OBS: IF EXISTS é utilizado para impedir a ocorrência de erros, se o banco de dados ou a tabela não existirem. Porém não é obrigatório o
  • 39. Exemplo  Vamos usar como exemplo o banco de dados test que veio junto da instalação.  Esse BD é geralmente fornecido como um espaço de trabalho para usuários fazerem testes como não precisamos dele posso exclui-lo.
  • 40.
  • 41. Exemplo  Como exemplo usaremos a tabela produto do banco de dados venda, que criamos em exemplos anteriores.
  • 42. Exemplo Contagem (COUNT)  SELECT COUNT(campo) FROM < nome da tabela > ;
  • 43. Exemplo SOMA (SUM)  SELECT SUM(campo) FROM < nome da tabela >;
  • 44. Exemplo Máximo (MAX)  SELECT MAX(campo) FROM < nome da tabela >;
  • 45. Exemplo Mínimo (MIN)  SELECT MIN(campo) FROM < nome da tabela >;
  • 46. Exemplo Média (AVG)  SELECT AVG(campo) FROM < nome da tabela >;
  • 47.
  • 48.
  • 49. Exemplo LIKE  Com este operador, podemos comparar Strings. O percentual (%) substitui nenhum, um ou mais caracteres, já a sublinha (_) substitui somente um caractere.  Utilizando a combinação desses caracteres especiais com o que se quer localizar, pode-se conseguir uma variedade muito grande de expressões.  Veja na tabela a seguir algumas possíveis combinações:
  • 50.
  • 51. EXEMPLO  SELECT * FROM contatos WHERE nome LIKE ' < condição > ' ;
  • 52. EXEMPLO  SELECT * FROM contatos WHERE nome LIKE ' < condição > ' ;
  • 53. Utilizando AND / OR  O operador AND exibe os registros se tanto a primeira condição como a segunda condição for verdadeira.  O operador OR exibe os registros se a primeira condição ou a segunda for verdadeira.  Esses operadores são usados para filtrar registros com base em mais de uma condição.
  • 55. AND
  • 56. OR
  • 57. Exemplo BETWEEN  O comando BETWEEN permite fazer a seleção de um intervalo, entre um e outro. A sintaxe da cláusula BETWEEN é a seguinte: SELECT * FROM alunos WHERE idade BETWEEN 10 AND 20;  Este comando irá selecionar todas as linhas cuja coluna tiver um valor entre 10 e 20. Os valores podem ser números, texto ou datas. Poderíamos de outra forma obter o mesmo resultado que seria: SELECT * FROM alunos WHERE idade > = 10 AND idade < = 20;
  • 61.