aula 6 sql - introdução
Post on 27-Jun-2015
329 Views
Preview:
DESCRIPTION
TRANSCRIPT
Apareceu no início da década de 1970
Desenvolvida por um laboratório de Investigação da IBM
Em 1986 surgiu uma normalização da linguagem SQL, pela American National Standards Institute, continuam a existir pequenas diferenças na implementação desta linguagem comercial.
Introdução ao SQL
Criar, Alterar, e Remover todas as componentes de uma Base de Dados, como tabelas, views, índices, etc.
Inserir, Alterar e Apagar dados.
Interrogar a base de dados – Fazer Consultas.
Controlar o acesso dos utilizadores à base de dados e as operações a que cada um deles pode ter acesso.
Obter a garantia da consistência e integridade dos dados.
Linguagem SQL
DML – Data Manipulation Language – Permite manipular os dados – Inserir, Apagar, Seleccionar e actualizar.
DDL – Data Definition Language – Utilizada para criar, apagar e alterar objectos como tabelas, consultas (views).
DCL – Data Control Language – Permite controlar a segurança de dados definindo quem pode aceder cada operação em cada objecto.
Familias do SQL
DML DDL DCL
SELECT
INSERT
UPDATE
DELETE
…
CREATE
ALTER
DROP
A sintaxe básica de um
comando DDL é:
CREATE <tipo> <nome><definição>
CREATE TABLE Clientes (Nome
CHAR(30), Telefone CHAR(8))
GRANT
REVOKE
DENY
A sintaxe básica de um
comando DCL é:
GRANT <operação> ON <nome do
objeto> TO <usuário>
GRANT UPDATE ON Clientes TO
João
Famílias do SQL
A interrogação de qualquer base de dados relacional faz-se sempre utilizando o comando SELECT.
A sintaxe é a seguinte: SELECT campo1, campo2,…, campoN
FROM tabela1, …, tabela n
[WHERE condição]
[GROUP BY …]
[HAVING …]
[ORDER BY …]
Os parêntesis retos indicam que essa componente é facultativo
Comando SELECT
código local ilha
00001 Tarrafal Santiago
00002 Assomada Santiago
00003 Praia Santiago
00004 Ribeira Grande Santiago
00005 Tarrafal S. Nicolau
00006 Praia Branca S. Nicolau
00007 Mindelo S. Vicente
00008 São Pedro S. Vicente
00009 Tarrafal S. Antão
00010 Ribeira Grande S. Antão
00011 N. Cintra Brava
00012 S. Felipe Fogo
00013 Porto Inglês Maio
Comando SELECT Exemplos
Para sabermos toda a informação existente na tabela, teremos que seleccionar a informação existente nas colunas Local e Ilha da tabela Localidade, o que traduzido para SQL viria a ser:
SELECT códigoLocal, local, ilha
FROM localidade
Seleccionar todos os registos
Se se pretender, como no exemplo anterior, seleccionar todas as colunas da tabela, então, para não termos que indicar cada uma das colunas, o nome de todas elas pode ser substituído pelo carácter asterisco (*).
SELECT *
FROM Localidade
Seleccionar todas as colunas
A operação de restrição permite restringir o número de linhas a apresentar.
Para podermos restringir o conjunto de registos a apresentar, iremos utilizar outra cláusula do comando SELECT – a cláusula WHERE.
SELECT …
FROM …
WHERE condição
SELECT – Clausula Where
Operador Descrição Exemplo Resultado
= Igual a 7=5 FALSE
> Maior que 7>5 TRUE
< Menor que 7<5 FALSE
>= Maior ou Igual que 7>=5 TRUE
<= Menor ou Igual que 7<=5 FALSE
< > Ou != Diferente de 7<>5 TRUE
AND E
OR ou
NOT Negação
Operadores
id nome idade salário telefone códigoLocal
42 António Dias 43 792000 2619043 1
5 Célia Morais 26 536000 2693454 3
32 Florinda Simões 35 137000 1
37 Isabel Espada 28 86000 6
49 José António 17 210000 3
14 São Nascimento 35 220000 2318440 5
Exemplos
SELECT * FROM pessoa WHERE idade = 35
SELECT id, nome, salário FROM pessoa WHERE idade >= 18
SELECT id, nome, salário FROM pessoa WHERE idade >= 30 AND idade <= 40
SELECT id, nome, salário FROM pessoa WHERE idade < 30 OR idade > 40
4.3.5 Eliminação de repetições (DISTINCT e ALL)
Problema: Selecionar o conjunto das ilhas existentes na tabela localidade.
SELECT ilha
FROM localidade
Equivalente a
SELECT ALL ilha
FROM Localidade
O resultado devolve ilhas repetidas
SELECT ALL
O SELECT permite, selecção de expressões ou mesmo a selecção de constantes.
Seleccione o nome e idade de todas as pessoas. Selecione também a idade que irão ter daqui a um ano. O resultado deverá vir ordenado por nome.
SELECT nome, idade, idade+1
FROM pessoa
ORDER BY nome
SELECT com expressões
O nome da coluna que resulta da expressão é Expr...Este nome pode variar de sistema para sistema e é atribuído automaticamente.
Nota: O nome com que uma coluna ou expressão é representada no resultado de um SELECT pode ser alterado através da cláusula AS novo_nome a seguir às colunas ou expressões cujo título se pretende alterar.
SELECT nome, idade AS idadeHoje, idade+1 AS idadeDaquiUmAno
FROM pessoa
ORDER BY nome
Renomear Colunas
A ordenação é baseada no valor do código ASCII de cada carácter. Assim, os dígitos aparecem antes dos caracteres alfabéticos e as maiúsculas antes das minúsculas.
A ordenação pode ser realizada através da cláusula ORDER BY no comando SELECT. Esta cláusula, se existir, aparece sempre posicionada no final do comando SELECT.
SELECT – Clausula ORDER BY
SELECT campo1, campo2,…, campon FROM tabela1, …, tabela n [WHERE condição] [GROUP BY …] [HAVING …] ORDER BY campo1[ASC|DESC], campo2[ASC|DESC],… Onde campo representa o nome do campo, uma expressão ou a posição da coluna do SELECT. ASC indica que a ordenação é Ascendente e DESC indica que a ordenação é Descendente.
Order By
A ordenação por coluna faz-se especificando, na cláusula ORDER BY, qual a coluna pela qual se pretende ordenar.
Problema: Seleccionar todas as pessoas, ordenando o resultado pela idade.
SELECT *
FROM pessoa
ORDER BY idade
Ordenar uma coluna
Para se ordenar o resultado de um SELECT por mais do que uma coluna, basta indicar, na cláusula ORDER BY, o conjunto das colunas pela ordem em que se pretende ordenar.
Caso se indique que se pretende ordenar o resultado de um SELECT por mais do que uma coluna a ordenação é feita pela primeira coluna, e entre valores iguais é ordenada pela segunda coluna, ...
Ordenar Varias colunas
top related