A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a linguagem SQL

Apresentações semelhantes


Apresentação em tema: "Introdução a linguagem SQL"— Transcrição da apresentação:

1 Introdução a linguagem SQL
Vandeclécio Lira da Silva Bacharel em Ciência da Computação - UERN

2 Introdução a SQL SQL (Structured Query Language)
Linguagem Estruturada de Consulta; Criado no Inicio dos 70, pela IBM; É uma linguagem de altíssimo nível, bem próxima da linguagem humana (inglês); Linguagem declarativa, detalha a forma do resultado; Novos dialetos surgiram, derivando e evoluindo o SQL;

3 Introdução a SQL Padronização
American National Standards Institute (ANSI) em 1986 International Organization for Standardization (ISO) em 1987 É a linguagem utilizada em praticamente todos os SGBDs do mercado. Mesmo com a padronização cada fabricante tem suas características

4 Introdução a SQL Formada pelo conjunto das linguagens:
DDL (Data Definition Language): Liguagem de definição de dados DML (Data Manipulation Language): Linguagem de Manipulação de dados DQL (Data Query Language): Linguagem de consulta de Dados DCL (Data Control Language): Linguagem de Controle de Dados DTL (Data Transaction Language): Linguagem de Transação de Dados SQL DDL DML DQL DCL DTL

5 DDL Linguagem de Definição de Dados CREATE: Cria uma estrutura
ALTER: Altera uma estrutura DROP: Exclui uma estrutura SQL DDL DML DQL DCL DTL

6 DML Linguagem de Manipulação de Dados INSERT: Insere dados
UPDATE: Altera dados DELETE: Deleta dados SQL DDL DML DQL DCL DTL

7 DQL Linguagem de Consulta de Dados SELECT: Retorna dados
Ordenação de dados Agrupamento de dados Funções aritméticas Filtros de seleção SQL DDL DML DQL DCL DTL

8 DCL Linguagem de Controle de Dados
GRANT: Habilita acesso a dados e operações REVOKE: Revoga acesso a dados e operações SQL DDL DML DQL DCL DTL

9 DQL Linguagem de Transação de Dados
START TRANSACTION: Inicia a transação COMMIT: Concretiza a transação ROLLBACK: Anula a transação SQL DDL DML DQL DCL DTL

10 Tipo de dados Boleano e Numérico Nome MySQL Postgre SQL Server Oracle
FireBird intervalo Bytes BOOLEAN TINYINT SIM ENUM SMALLINT 0 ou 1 (FALSE ou TRUE) 1 bit NUMBER -128 à 127 1 -32,768 à 32,767 0 à 65,535 se UNSIGNED 2 INT -2,147,483,648 à 2,147,483,647 0 à 4,294,967,295 se UNSIGNED 4 BIGINT INT64 -9,223,372,036,854,775,808 à +9,223,372,036,854,775,807 0 à 18,446,744,073,709,551,615 se UNSIGNED 8 FLOAT REAL E+38 à E-38 E-38 à E+38 se UNSIGNED DOUBLE DOUBLE PRECISION E+308 à E-308, E-308 à E+308 se UNSIGNED

11 "-838:59:59" – "838:59:59" (horas, minutos, segundos)
Tipo de dados String Nome MySQL 5 SQL Server Oracle FireBird Bytes Char SIM X Varchar X + 1 Data e Hora Nome MySQL Postgre SQL Server Oracle FireBird Intervalo (MySQL) Bytes DATA SIM TIMESTAMP " " – " " (ano, mês, dia) 3 TIME "-838:59:59" – "838:59:59" (horas, minutos, segundos) DATATIIME " :00:00" - " :59:59" 8 – 2037+ 4

12 Atributos NULL / NOT NULL Unsigned / Signed Auto-increment Zerofill
Permite ou não valores nulos, NULL != vazio Unsigned / Signed Permite ou não números negativos Auto-increment Sequências, contadores Zerofill Preenche o valor numérico completando com zeros a esquerda

13 Criando um banco de dados
DDL – Linguagem de Definição de Dados CREATE DATABASE AulaSQL USE AulaSQL;

14 Criando tabelas CREATE TABLE nomeTabela(campo tipo atributo, ... campo tipo atributo) CREATE TABLE CLIENTE ( codigo int NOT NULL PRIMARY KEY, nome varchar(30) NOT NULL, cpf int UNIQUE, uf char(2) default null, nascimento date default ’ ’, telefone char(8) default null, sexo char(1)); codigo nome cpf uf nascimento telefone sexo

15 Criando tabelas Restrição UNIQUE e PRIMARY KEY:
Asseguram que os valores inseridos em uma ou mais colunas são únicos para cada linha da tabela. Uma ou mais colunas definidas com essas restrições devem também ser definidas com o atributo NOT NULL Uma coluna pode ser definida com o atributo NOT NULL. Esse atributo não permite valores nulos na coluna onde é definida e é obrigatório em colunas com restrições PRIMARY KEY ou UNIQUE.

16 Criando tabelas Restrição FOREIGN KEY:
Chave estrangeira é uma ou mais colunas em uma tabela que corresponde exatamente a uma ou mais colunas definida(s) como chave primária em outra tabela. CREATE TABLE PRODUTO( codigo int NOT NULL PRIMARY KEY, produto varchar(30) NOT NULL, preco decimal(5,2) NOT NULL, ); CREATE TABLE PEDIDO( cod_pedido int NOT NULL PRIMARY KEY, data date, cod_cliente int, cod_produto int, FOREIGN KEY (cod_produto) REFERENCES PRODUTO (codigo) ON DELETE SET NULL, FOREIGN KEY (cod_cliente) REFERENCES CLIENTE (codigo) ON DELETE SET NULL ON UPDATE CASCADE codigo produto preco cod_pedido data cod_cliente cod_produto

17 Alterar uma tabela Apagar uma tabela Exemplos:
Incluir nova coluna ALTER TABLE CLIENTE ADD VARCHAR(20); ALTER TABLE CLIENTE ADD fax VARCHAR(18) AFTER uf; Eliminar uma coluna existente ALTER TABLE CLIENTE DROP fax; Alterar o tipo de dado de uma coluna ALTER TABLE CLIENTE MODIFY VARCHAR(40); DROP TABLE [nome da tabela]; Apagar uma tabela

18 Manipulando dados DML – Linguagem de Manipulação de Dados Exercício
INSERT INTO Tabela VALUES (valores) Exemplo: INSERT INTO CLIENTE VALUE (‘007’, ‘Bond’, ‘ ’, ‘UK’, ’ ’, ‘ ’, ’M’, ); INSERT INTO CLIENTE (nome, cpf) VALUE (‘Maria’, ‘ ’); LOAD DATA LOCAL INFILE 'arquivo.txt' INTO TABLE Tabela; Exercício Carregar os arquivos nas tabelas;

19 Manipulando dados com filtro
UPDATE Tabela SET Campo = Valor WHERE Condição UPDATE CLIENTE SET nome = ‘Camila’ WHERE cpf = ‘ ’; UPDATE CLIENTE SET nome = ‘James Bond’ WHERE nome = ‘Mario’; DELETE FROM Tabela WHERE Condição DELETE FROM CLIENTE WHERE cpf = ‘ ’ DELETE FROM CLIENTE WHERE nome = ‘Bonde’

20 Consulta de dados DQL – Linguagem de Consulta de Dados
SELECT : retorna dados Ordenação de dados Agrupamento de dados Filtros de seleção Funções aritméticas

21 Consulta de dados SELECT campos FROM Tabela Condição;
SELECT * FROM CLIENTE; ‘ * ’ imprime todos os campos da tabela SELECT nome, cpf FROM CLIENTE;

22 Consulta de dados Filtros de seleção (WHERE) Operadores relacionais
Igual ( = ), Diferente ( != ) Maior ( > ), Maior ou igual ( >= ) Menor ( < ), Menor ou igual (<= ) Nulo (IS NULL), Não nulo ( IS NOT NULL) Entre intervalo ( BETWEEN ) Valor parcial ( LIKE ) Operadores lógicos AND, OR, NOT

23 Consulta de dados SELECT nome FROM CLIENTE WHERE sexo = ‘f’;
SELECT * FROM PRODUTO WHERE preco > 50; SELECT produto FROM PRODUTO WHERE preco BETWEEN 10 AND 30; SELECT nome FROM CLIENTE WHERE nome NOT LIKE ‘A%’; SELECT * FROM CLIENTE WHERE telefone IS NOT NULL;

24 Consulta de dados Uso da cláusula ORDER BY Uso da cláusula GROUP BY
SELECT * FROM CLIENTE ORDER BY nome; ASC, DESC Uso da cláusula GROUP BY SELECT * FROM CLIENTE GROUP BY uf ; Exercício Mostrar o nome dos clientes do mais velho ate os mais novos, agrupados por estado;

25 Consulta de dados Uso de funções AVG COUNT MAX MIN DISTINCT
SELECT AVG(preco) FROM PRODUTO; COUNT SELECT COUNT(*) FROM CLIENTE; MAX SELECT MAX(preco) FROM PRODUTO; MIN SELECT MIN(preco) FROM PRODUTO; DISTINCT SELECT DISTINCT nome FROM CLIENTE;

26 Consulta de dados Relacionamento entre tabelas
Quais as datas dos pedidos de cada cliente? SELECT CLIENTE.nome, PEDIDO.data from CLIENTE, PEDIDO WHERE PEDIDO.cod_cliente = CLIENTE.codigo; Inserindo apelido nas tabela SELECT C.nome, P.data from CLIENTE ASC, PEDIDO ASP WHERE P.cod_cliente = C.codigo;

27 Consulta de dados Relacionamento entre tabelas UNION IN
SELECT nome FROM CLIENTE UNION SELECT produto FROM PRODUTO; IN SELECT nome FROM CLIENTE WHERE codigo IN (SELECT codigo FROM PEDIDO);

28 Armazém -- Exercicos -- 1) Alterar a tabela produto, agregando um campo preço. -- 2) Listar todos os produtos/funcionarios ordenados pelo codigo e alfabeticamente. -- 3) Listar os nomes dos funcionarios que geraram solicitaçõe -- 4) Listar todas as solicitações efectuadas no mes de fevereiro. -- 5) Actualice os preços de cada produto. -- 6) Que funcionarios executaram mais solicitações. -- 7) Que funcionario vendio mais nos primeiros 15 dias do mes de fevereiro.


Carregar ppt "Introdução a linguagem SQL"

Apresentações semelhantes


Anúncios Google