Buscar

sql basico

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 8 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 8 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

Prévia do material em texto

Au l a 5 – S Q L B á s i c a
Prof. Anderson Luis Schvindt Bittencourt
B
DI 
– 
SQ
L
Introdução A Linguagem SQL
Structured Query Language, ou Linguagem de Consulta Estruturada ou 
SQL, é uma linguagem de pesquisa declarativa para banco de dados 
relacional (base de dados relacional).
Muitas das características originais do SQL foram inspiradas na álgebra 
relacional.
O SQL foi desenvolvido originalmente no início dos anos 70 nos 
laboratórios da IBM em San Jose, dentro do projeto System R, que tinha 
por objetivo demonstrar a viabilidade da implementação do modelo 
relacional proposto por E. F. Codd.
O nome original da linguagem era SEQUEL, acrônimo para "Structured 
English Query Language" (Linguagem de Consulta Estruturada em Inglês), 
vindo daí o fato de até hoje a sigla em inglês ser comumente 
pronunciada "síquel" ao invés de "és-kiú-él", letra a letra. 
No entanto, em português, a pronúncia mais corrente é a letra a letra: 
"esse-quê-ele".
A linguagem SQL é um grande padrão de banco de dados.
Isto decorre da sua simplicidade e facilidade de uso.
Ela se diferencia de outras linguagens de consulta a banco de dados no 
sentido em que uma consulta SQL especifica a forma do resultado e não 
o caminho para chegar a ele.
Ela é um linguagem declarativa em oposição a outras linguagens 
procedurais.
Isto reduz o ciclo de aprendizado daqueles que se iniciam na linguagem.
Embora o SQL tenha sido originalmente criado pela IBM, rapidamente 
surgiram vários dialetos desenvolvidos por outros desenvolvedores.
Essa expansão levou à necessidade de criação e adaptação de um padrão 
para a linguagem.
Esta tarefa foi realizada pela American National Standards Institute 
(ANSI) em 1986 e ISO em 1987.
O acesso a informações em sistemas de processamento de dados que 
não utilizam Sistemas Gerenciadores de Bancos de Dados (SGBDs) é feito 
pelo acesso sequencial a um ou mais arquivos.
Cabe ao desenvolvedor criar mecanismos de recuperação da informação.
Com a utilização de um SGBD, porém, o acesso fica diferente: pede-se as 
informações ao gerenciador de banco de dados e elas são devolvidas por 
ele. 
O processo pode ser comparado a uma compra em uma loja de 
departamentos e uma compra em uma loja de autopeças, que 
normalmente funcionam por processos diferentes.
No primeiro caso, o cliente dirige-se à loja, procura por todas as seções, 
encontra o produto desejado e efetua a compra.
No segundo, o cliente pede ao balconista o item desejado que lhe faz a 
entrega do mesmo.
No caso da compra em loja de departamentos, o trabalho é todo do 
cliente, sendo este responsável inclusive pelas especificações necessárias 
(fazer a escolha certa).
Já na loja de autopeças, o balconista assume toda a responsabilidade 
pela entrega da mercadoria desejada.
B
DI 
– 
SQ
L
A Linguagem SQL DDL – Data Definition Language - CREATE
Criando bancos de dados:O SQL foi revisto em 1992 e a esta versão foi dado o nome de SQL-92.Foi 
revisto novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e 
SQL:2003, respectivamente.
O SQL:1999 usa expressões regulares de emparelhamento, queries 
recursivas e gatilhos (triggers).
Também foi feita uma adição controversa de tipos não-escalados e 
algumas características de orientação a objeto.
O SQL:2003 introduz características relacionadas ao XML, seqüências 
padronizadas e colunas com valores de auto-incremento (inclusive 
colunas-identidade).
O SQL, embora padronizado pela ANSI e ISO, possui muitas variações e 
extensões produzidas pelos diferentes fabricantes de sistemas 
gerenciadores de bases de dados.
Tipicamente a linguagem pode ser migrada de plataforma para 
plataforma sem mudanças estruturais principais.
Outra aproximação é permitir para código de idioma procedural ser 
embutido e interagir com o banco de dados. 
Por exemplo, o Oracle e outros incluem Java na base de dados, enquanto 
o PostgreSQL permite que funções sejam escritas em Perl, Tcl, ou C, 
entre outras linguagens.
A linguagem SQL pode ser dividida em grandes grupos, conforme 
classificação a seguir:
DDL – Data Definition Language
A DDL, ou Data Definition Language (Linguagem de Definição de Dados), 
permite ao usuário definir objetos em um banco de dados, tabelas novas 
e elementos associados.
A maioria dos bancos de dados de SQL comerciais tem extensões 
proprietárias no DDL.
Os comandos básicos da DDL são:
ü CREATE: cria um objeto (uma Tabela, por exemplo) dentro da 
base de dados. 
ü DROP: apaga um objeto do banco de dados. 
ü ALTER: permite ao usuário alterar alguma característica do 
objeto, como por exemplo seu nome.
create database <NOMEBD>;
Onde NOMEBD = nome do banco que queremos criar
OBS: Não é necessário digitar <> para executar o comando
OBS2: O ponto e vírgula indica o final do comando
Exemplo:
create database meu_banco;
Onde meu_banco = nome do banco de dados a ser criado
Criando tabelas:
create table <NOMETABELA> 
(
 campo tipodado [not null] [primary key],
 campo2 tipodado
);
Onde:
NOMETABELA = nome da tabela que queremos criar
Campo = nome do campo que queremos criar
Tipodado = tipo do dado que queremos criar (ex: integer, vachar, char)
OBS: comandos entre [] são opcionais
Exemplo:
create table uf 
(
 siglauf char(2) not null primary key, 
 nomeuf char(25
));
Onde:
uf = nome do banco de dados a ser criado
siglauf, nomeuf = nome dos campos
char(2), char(25) = tipo dos campos
B
DI 
– 
SQ
L
DDL – Data Definition Language - DROP DDL – Data Definition Language - ALTER
Alterando tabelas. Exemplo:Removendo banco de dados:
alter table <NOMETABELA> add <NOMECAMPO> <TIPODADO>;
alter table <NOMETABELA> drop <NOMECAMPO>;
Onde:
NOMETABELA = nome da tabela que queremos alterar
NOMECAMPO = nome do campo da tabela
TIPODADO = tipo do dado do campo
OBS: Existem sintaxes diferentes para o comando ALTER TABLE dependendo do 
SGBD utilizado. Consulte sempre o manual do SGBD para verificar a sintaxe 
correta.
Exemplo:
alter table cidade add siglauf char(2);
No exemplo acima o campo siglauf, do tipo char e tamanho 2, foi adicionado na tabela cidade.
create table cidade 
(
 idcidade int not null, nomecidade char(25)
);
Constraints em SQL são as restrições de tabela.
Exemplo:
NOT NULL
drop database <NOMEBANCO>;
Onde:
NOMEBANCO = nome do banco de dados que queremos remover
OBS: Não é necessário digitar <> para executar o comando
Exemplo:
drop database meu_banco;
Onde:
meu_banco = nome do banco de dados a ser removido
Removendo tabelas:
drop table <NOMETABELA>;
Onde:
NOMETABELA = nome da tabela que queremos remover
OBS: Não é necessário digitar <> para executar o comando
Exemplo:
drop table minha_tabela;
Onde:
minha_tabela = nome da tabela a ser removida
DDL – Data Definition Language - CONSTRAINTS
Neste caso o not null indica que o campo idcidade não pode ser nulo.
B
DI 
– 
SQ
L
DDL – Data Definition Language – CONSTRAINTS – CHAVE PRIMÁRIA DDL – Data Definition Language – CONSTRAINTS – CHAVE ESTRANGEIRA
Chave primária – Primary Key
Sintaxe:
create table cidade 
(
 idcidade int not null, 
 nomecidade char(25),
 siglauf char(2),
 constraint pk_idcidade primary key (idcidade),
 constraint fk_siglauf foreign key (siglauf)
 references uf (sigla)
);
constraint nome_constraint primary key (campo);
Onde:
nome_constraint = nome dado a restrição
campo = campo ou campos (separados por vírgula) que será (ão) chave 
primária
Exemplo:
PRIMARY KEY
create table cidade 
(
 idcidade int not null, 
 nomecidade char(25),
 constraint pk_idcidade primary key (idcidade)
);
Chave estrangeira – Foreign Key
Sintaxe:
constraint nome_constraint foreign key (campo) references 
tab_relac (PK_tabela_relacionada);
Onde:
nome_constraint = nome dado a restrição
campo = campo ou campos (separados por vírgula) que será (ão) chave estrangeiratab_relac = tabela que se relaciona com a tabela em que é criada a chave 
estrangeira
PK_tabela_relacionada = chave primária da tabela relacionada
Exemplo:
FOREIGN KEY
B
DI 
– 
SQ
L
DML – Data Manipulation Language
DML – Data Manipulation Language - DELETE
A DML - Data Manipulation Language - Linguagem de Manipulação de 
Dados - é um subconjunto da linguagem usada para selecionar, inserir, 
atualizar e apagar dados.
Alguns autores não consideram o SELECT como um comando de DML, 
uma vez que a manipulação dos dados não altera a sua estrutura em si.
SELECT: comando que permite ao usuário especificar uma query – ou 
consulta - como uma descrição do resultado desejado. A questão não 
especifica como os resultados deveriam ser localizados. 
INSERT: é usado para somar ou inserir uma fila (formalmente uma tupla) 
a uma tabela existente. 
UPDATE: para mudar ou alterar os valores de dados em uma fila de 
tabela existente. 
DELETE: permite remover filas existentes de uma tabela.
update <NOMETABELA> set CAMPO = VALOR 
where CONDIÇÃO;
Exclui registros em uma tabela.
Sintaxe:
insert into uf (siglauf, nomeuf)
values 
(‘df’, ‘distrito federal’);
OBS: para campos numéricos, não é necessário 
inserir o valor entre aspas simples.
DML – Data Manipulation Language - INSERT
Insere registros em uma tabela.
Sintaxe:
insert into <NOMETABELA> 
(<CAMPO1>, <CAMPO2>, <CAMPO3>) 
values 
(VALOR1, VALOR2, VALOR3);
 
Onde:
NOMETABELA = Nome da tabela que desejamos inserir o dados
CAMPO = nome dos campos
VALOR = valor para os respectivos campos
Exemplo:
DML – Data Manipulation Language - UPDATE
Atualiza registros em uma tabela.
Sintaxe:
Onde:
NOMETABELA = nome da tabela que queremos atualizar o registro
 Exemplo:
update uf set nomeuf = ‘Rio de Janeiro’ where 
siglauf = ‘rj’;
delete from <NOMETABELA> where CONDIÇÃO;
Onde:
NOMETABELA = nome da tabela que queremos excluir os registros
Exemplo:
delete from uf where siglauf = 'RS';
B
DI 
– 
SQ
L
DQL – Data Query Language
Embora tenha apenas um comando a DQL é a parte da SQL mais 
utilizada. 
O comando SELECT é composto de várias cláusulas e opções, 
possibilitando elaborar consultas das mais simples as mais elaboradas. 
Sintaxe:
select nome from pessoa;
Onde:
Campo1, campo2: campos da tabela
Tabela: nome da tabela que se deseja fazer a consulta
Exemplo:
select campo1, campo2 ... from tabela
where condição order by campo;
 
Onde:
nome = campo da tabela
pessoa = nome da tabela
DQL – Data Query Language - Cláusulas
Cláusulas
As cláusulas são condições de modificação utilizadas para definir os 
dados que deseja selecionar ou modificar em uma consulta.
 
FROM: Utilizada para especificar a tabela que se vai selecionar os 
registros.
 
WHERE: Utilizada para especificar as condições que devem reunir os 
registros que serão selecionados.
 
GROUP BY: Utilizada para separar os registros selecionados em grupos 
específicos.
 
HAVING: Utilizada para expressar a condição que deve satisfazer cada 
grupo.
 
ORDER BY: Utilizada para ordenar os registros selecionados com uma 
ordem especifico.
select nome_funcionario, sexo_funcionario
from funcionario;
Obs: pode-se usar o caracter especial * para substituir 
todos os campos da tabela em uma consulta.
Exemplo: select * from funcionario;
B
DI 
– 
SQ
L
SQL – Operadores Lógicos
AND: E lógico. Avalia as condições e devolve um valor verdadeiro caso 
ambos seja corretos.
 
OR: OU lógico. Avalia as condições e devolve um valor verdadeiro se 
algum seja correto.
 
NOT: Negação lógica. Devolve o valor contrário da expressão.
< Menor que
>  Maior que
<>  Diferente de
 <= Menor ou Igual que
>= Maior ou Igual que
= Igual que
BETWEEN Utilizado para especificar um intervalo de valores.
LIKE Utilizado na comparação de um modelo e para especificar 
registros de um banco de dados."Like" + extensão % vai significar buscar 
todos resultados com o mesmo início da extensão.
DCL – Data Control Language
A DCL (Data Control Language - Linguagem de Controle de Dados) 
controla os aspectos de autorização de dados e licenças de usuários para 
controlar quem tem acesso para ver ou manipular dados dentro do 
banco de dados.
Duas palavras-chaves da DCL:
ü GRANT: autoriza ao usuário executar operações. 
ü REVOKE: remove ou restringe a capacidade de um usuário de 
executar operações.
 Outros comandos DCL:
ü ALTER PASSWORD 
ü CREATE SYNONYM
SQL – Operadores de Comparação
As funções de soma se usam dentro de uma cláusula SELECT em grupos 
de registros para devolver um único valor que se aplica a um grupo de 
registros.
AVG
Utiliza para calcular a media dos valores de um campo determinado.
COUNT
Utilizada para devolver o número de registros da seleção.
SUM
Utilizada para devolver a soma de todos os valores de um campo 
determinado.
MAX
Utilizada para devolver o valor mais alto de um campo especificado.
MIN
Utilizada para devolver o valor mais baixo de um campo especificado.
SQL – Funções de soma
DTL – Data Transaction Language
BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL): 
pode ser usado para marcar o começo de uma transação de banco de 
dados que pode ser completada ou não. 
COMMIT: envia todos os dados das mudanças permanentemente. 
ROLLBACK: faz com que as mudanças nos dados existentes desde que o 
último COMMIT ou ROLLBACK sejam descartadas. 
COMMIT e ROLLBACK interagem com áreas de controle como transação 
e locação. Ambos terminam qualquer transação aberta e liberam 
qualquer cadeado ligado a dados. Na ausência de um BEGIN WORK ou 
uma declaração semelhante, a semântica de SQL é dependente da 
implementação.

Outros materiais