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

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

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

Apresentações semelhantes


Apresentação em tema: "Introdução a linguagem SQL Vandeclécio Lira da Silva Bacharel em Ciência da Computação - UERN 1."— Transcrição da apresentação:

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

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; 2

3 Introdução a SQL Padronização 1. American National Standards Institute (ANSI) em 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 3

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 4

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 5

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

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 7

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 8

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 9

10 Tipo de dados NomeMySQLPostgre SQL ServerOracleFireBirdintervaloBytes BOOLEANTINYINTSIMTINYINTENUMSMALLINT0 ou 1 (FALSE ou TRUE)1 bit TINYINTSIMSMALLINTSIMNUMBERSMALLINT-128 à 1271 SMALLINTSIM NUMBERSIM -32,768 à 32,767 0 à 65,535 se UNSIGNED 2 INTSIM NUMBERSIM -2,147,483,648 à 2,147,483,647 0 à 4,294,967,295 se UNSIGNED4 BIGINTSIM NUMBERINT64 -9,223,372,036,854,775,808 à +9,223,372,036,854,775,807 0 à 18,446,744,073,709,551,615 se UNSIGNED8 FLOATSIMREALSIMFLOATSIM E+38 à E E-38 à E+38 se UNSIGNED4 DOUBLESIM DOUBLE PRECISION FLOATSIM E+308 à E-308, E-308 à E+308 se UNSIGNED8 Boleano e Numérico 10

11 Tipo de dados NomeMySQL5SQL ServerOracleFireBirdBytes CharSIM X VarcharSIM X + 1 NomeMySQLPostgre SQL ServerOracleFireBirdIntervalo (MySQL)Bytes DATASIM TIMESTAMP" " – " " (ano, mês, dia)3 TIMESIM TIMESTAMP "-838:59:59" – "838:59:59" (horas, minutos, segundos)3 DATATIIMESIMTIMESTAMPSIMTIMESTAMP " :00:00" - " :59:59" 8 TIMESTAMPSIM – String Data e Hora 11

12 Atributos NULL / NOT NULL 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 12

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

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)); codigonomecpfufnascimentotelefonesexo 14

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. 15

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 ); codigoprodutopreco cod_pedidodatacod_clientecod_produto 16

17 Alterar 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 17

18 Manipulando dados DML – Linguagem de Manipulação de Dados 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; 18

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’ 19

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 20

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

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 22

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; 23

24 Consulta de dados Uso da cláusula ORDER 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; 24

25 Consulta de dados Uso de funções AVG 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; 25

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; 26

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

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. 28


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

Apresentações semelhantes


Anúncios Google