SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no...

24
SQL Prof. João Paulo Lemos Escola

Transcript of SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no...

Page 1: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

SQL

Prof. João Paulo Lemos Escola

Page 2: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Introdução

● Nesta aula vamos aprender a linguagem SQL;● Ao final da aula seremos capazes de:

– Criar bases de dados;

– Criar tabelas;

– Alterar tabelas;

– Inserir registros;

– Alterar registros;

– Excluir registros;

– Listar registros;

– Filtrar registros.

Page 3: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

O que é SQL?

● Structured Query Language;● Linguagem de consulta estruturada;● É a linguagem padrão mundial para

manipulação de SGBD;● Trata-se de um padrão do ANSI (American

National Standards Institute).

Page 4: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Criando base de dados

● Cria uma base de dados:– create database Loja;

● Ativa a base de dados para que todos os próximos comandos sejam executados nela:– use Loja;

● Mostra as bases de dados do servidor:– show databases;

Page 5: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Criando tabelas

● Cria uma tabela:

● Mostra as tabelas da base de dados atual:

Page 6: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Base de dados no Workbench

● Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de cada tabela:

Page 7: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Inserindo registros

● Inserir um novo registro:

● Exercício:– Cadastre os seguintes estados:

● Minas Gerais● Bahia● Rio de Janeiro● Paraná● Santa Catarina

Page 8: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Listando registros

● Listando os registros da tabela:

Page 9: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Criando a tabela ‘Cidades’

● A nova tabela possui chave estrangeira:

● Uma chave estrangeira foi criada:

tabelascolunas

Chaves estrangeiras

Page 10: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Insert com chave estrangeira

● Para cadastrar uma cidade, será necessário fornecer o ‘id’ do registro da tabela Estados:

● Veja o resultado:

Page 11: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Comando ‘describe’

● Mostra a estrutura da tabela:

Page 12: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Exercício

● Cadastre as seguintes cidades:– Colina/SP– Guaíra/SP– Bebedouro/SP– Frutal/MG

– Belo Horizonte/MG

– Florianópolis/SC

– Salvador/BA

– Curitiba/PR

– Londrina/PR

Page 13: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Alter: alterar a tabela

● Adicionando uma coluna na tabela:

● Veja o resultado:

Page 14: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Alter: modificando coluna da tabela

● Agora vamos alterar uma coluna da tabela:

Page 15: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Adicionando coluna após outra

● Vamos incluir a coluna ‘populacao’ após a coluna ‘nome’:

Page 16: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Alterando um registro

● Altera o nome da cidade:

● Veja o resultado:

Page 17: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Excluindo os registros

● Para excluir todas as cidades:

● Excluir o estado de código 2:

Page 18: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Listando e Filtrando registros

● Para filtrar registros, utilizamos o comando ‘where’:– select * from Estados where id>0;

– select * from Estados where id=1;

– select * from Estados where id>0 and id<5;

Page 19: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Filtros no comando Select

● Lista os estados com a sigla ‘BA’:– select * from Estados where sigla=’BA’;

● Lista os estados sem data de cadastro:– select * from Estados where dataCadastro is null;

● Lista os estados com data de cadastro:– select * from Estados where dataCadastro is not null;

● Lista os estados cujo nome possui a letra ‘a’:– select * from Estados where nome like ‘%a%’;

Page 20: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Filtrar colunas

● Com o “select *” temos todas as colunas:

● Filtrando as colunas desejadas:

Page 21: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Filtrando registros em relacionamentos

● Permite listar registros buscando dados de tabelas que tem relacionamentos:

● Ou então:

Page 22: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Comandos adicionais

● Drop database Loja– Exclui a base de dados;

● Drop table Estados– Excluir a tabela;

● Create table if not exists Estados... – Cria a tabela se ela não existir… ignora o comando

caso a tabela exista.

Page 23: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Importante

● O MySQL no Linux, por padrão é case-sensitive, por isso, preste atenção ao criar tabelas com variação de letras maiúsculas/minúsculas;

● No Windows, por padrão esta regra não está habilitada, mas pode ser habilitada nas configurações do MySQL.

Page 24: SQL - suap.ifsp.edu.br · Nesta aula vamos aprender a linguagem SQL; ... Na coluna da esquerda, no MySQL Workbench podemos visualizar as bases de dados, suas tabelas e os campos de

Exercício

● Crie um arquivo ordem_servico.sql com os comandos SQL de criação das tabelas do diagrama abaixo;

● Insira 3 registros em cada tabela;

● Mostre os itens e seus respectivos tipos;

● Liste os dados as ordens de serviço: data, situacao, nome do cliente,e-mail, cidade;

● Liste as ordens atendidaspelo funcionário 2.