Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
a Linguagem SQL
Crícia Felício
O que é SQL?
Cod_depto Nome_depto
001 Informatica
002 Financeiro
Operador de Seleção
• Usado para selecionar linhas específicas da
tabela
– Exemplo: Selecionar os dados dos funcionários de
sexo feminino
Exemplo(
Operador de Produto Cartesiano
Produto(cartesiano(entre(Funcionario(e(
Combina os dados de duas tabelas
• Departamento(
CPF RG Nome Cod_depto Cod_depto Nome_depto
001 Informatica
1234567 m45678 Carlos 001
× 002 Financeiro
1234568 m45679 Roberto 001
003 Recursos
1234569 m45680 Maria 003 Humanos
Funcionario × Departamento
• Resultado Exemplo(
CPF RG Nome Cod_depto Cod_depto Nome_depto
003 Recursos
1234569 m45680 Maria 003 Humanos
• Resultado(
n Download: https://dev.mysql.com/downloads/
mysql/
Acesso ao Mysql
4 2
Exemplo
create database academico;
use academico;
CREATE TABLE Curso (
cod_curso int PRIMARY KEY,
nome_curso varchar(40),
sigla varchar(8)
);
CREATE TABLE Aluno (
matr numeric(4) PRIMARY KEY,
nome varchar(50),
entrada char(6),
cod_curso int,
FOREIGN KEY(cod_curso) REFERENCES Curso (cod_curso)
);
Linguagem DDL
n Comando drop
n Apaga a estrutura de um banco, tabela, visão, procedimentos,
etc.
n Drop database nome_do_banco
n Apaga o banco de dados
n Exemplo:
drop database academico;
n Drop table nome_da_tabela
n Apaga a tabela
n Exemplo:
-- apaga a tabela aluno
drop table aluno;
Linguagem DDL
• Comando ALTER TABLE
– Altera a estrutura de uma tabela
n Alter table nome_tabela açao
n Adicionar uma nova coluna
n ALTER TABLE nome_tabela ADD nome_coluna tipo;
n Exemplo:
n ALTER TABLE ALUNO ADD DATA_NASC DATE;
Linguagem DDL
n Comando INSERT
n Sintaxe:
INSERT INTO nome_tabela(campos que serao inseridos,
separados por virgula) values (valores que serao inseridos)
Obs: Valores do tipo char,varchar,text,date e time devem vir
entre aspas
Linguagem DML
• Comando INSERT
n Exemplo:
-- seleciona o banco de dados para uso
use academico;
-- insercao na tabela curso
insert into curso(cod_curso,nome,sigla)
values(1, "Sistemas para Internet","TSPI"),
(2, "Licenciatura em Computação","LCOMP");
-- OU
insert into curso(cod_curso,nome,sigla)
values(1, "Sistemas para Internet","TSPI");
insert into curso(cod_curso,nome,sigla)
(2, "Licenciatura em Computação","LCOMP");
Exercício
4 Atendente NA 980
5 Contador NA 4500
Funcionário
Cod_func Nome Data_adm Sexo Cod_cargo Cod_depto
n Comando SELECT
n Sintaxe Comando Básico:
SELECT informaçoes que devem ser selecionadas
FROM nome_tabela1,nome_tabela2 ….
WHERE condicoes
n Select corresponde a operação de projeção da Álgebra
relacional
n Informa quais os as colunas devem ser listadas no resultado da
consulta
n Select *
n Lista todas as informações das tuplas obtidas como resultado da
consulta
Comando SELECT
n Exemplo
n Selecionar todas as informações dos funcionarios
Select *
from funcionario;
n Selecionar o nome e sexo dos funcionarios
Select nome,sexo
from funcionario;
Comando SELECT
n Conectores Lógicos
n And
n C1 And C2 é verdadeiro se C1 é verdadeiro e C2 é verdadeiro
n OR
n C1 or C2 é verdadeiro se C1 e C2 for verdadeiro ou se uma das
condições for verdadeira
n Not
n Not C1 é verdadeiro se C1 for falso e é falso se C1 for
verdadeiro
Exemplo
n Operador between
n 'A between B and C' é equivalente a:
n (A>=B) and (A<=C)
n 'not (A between B and C)' é equivalente a:
n A not between B and C
n Exemplo:
Select nome,cod_cargo
From funcionario
Where data_adm between '2009-01-01' and '2009-12-31';
Comando SELECT
n Exemplo:
n Procure pelos funcionários que tenham o nome ou segundo
nome terminado em ‘o ‘
Select * from funcionario
Where nome like '%o %';
Comando SELECT
n Operador IN e Not IN
n Utilizado para verificar se um valor esta(ou não) contido num conjunto
de constantes
n Indicado para fazer a comparação com mais de um valor
n Exemplo
Select *
from funcionario
Where cod_depto in (2,3);
Irá selecionar os dados dos funcionários que trabalham no departamento 2 ou
3 equivalente a :
Select *
from funcionario
Where cod_depto=2 or cod_depto=3 ;
Comando SELECT
4 2