Baixe o app para aproveitar ainda mais
Prévia do material em texto
Structured Query Language (SQL) Linguagens de SGBD � No módulo X estudaremos: 2 �Linguagem de Manipulação de Dados (DML). Linguagem de Manipulação de Dados (DML) � Principais comandos DML: �Inserindo dados na tabela: 3 �Inserindo dados na tabela: INSERT INTO NOME_TABELA (COL1, COL2,...,COLN) VALUES (VAL1, VAL2,...,VALN); Linguagem de Manipulação de Dados (DML) � Principais comandos DML: �Como inserir dados na tabela ALUNO? 4 �Como inserir dados na tabela ALUNO? Linguagem de Manipulação de Dados (DML) � Inserindo dados na tabela ALUNO: 5 INSERT INTO ALUNO (MATRICULA,NOME,SEXO) VALUES (‘20120071’,’Maria’,’F’); � Assim, inserimos na tabela ALUNO os seguintes valores: MATRÍCULA = ‘20120071’; NOME = ‘Maria’; SEXO = ‘F’. Linguagem de Manipulação de Dados (DML) � Principais comandos DML: � Seria possível inserir dados na tabela ALUNO a 6 � Seria possível inserir dados na tabela ALUNO a partir de uma outra tabela??? Linguagem de Manipulação de Dados (DML) � Sim, é possível!!! �Inserindo dados na tabela ALUNO a partir da tabela 7 �Inserindo dados na tabela ALUNO a partir da tabela PESSOA: INSERT INTO ALUNO (CPF, NOME, SEXO) SELECT CPF, NOME, SEXO FROM PESSOA; � Assim, inserimos na tabela ALUNO os valores de CPF, NOME e SEXO selecionados(select) da tabela PESSOA. ** Falaremos do comando select adiante. Linguagem de Manipulação de Dados (DML) � Consultando dados da tabela �Para consultarmos dados de uma tabela utilizamos o 8 �Para consultarmos dados de uma tabela utilizamos o comando SELECT: SELECT COL1, COL2,...,COLN FROM NOME_TABELA WHERE (expressão lógica) Linguagem de Manipulação de Dados (DML) � Consultando dados da tabela �Executando o select na tabela ALUNO 9 �Executando o select na tabela ALUNO SELECT * FROM ALUNO; Assim, selecionaremos todos os registros da tabela ALUNO. Linguagem de Manipulação de Dados (DML) � Consultando dados da tabela �Como consultar a tabela ALUNO selecionando apenas 10 �Como consultar a tabela ALUNO selecionando apenas os alunos do sexo feminino??? Linguagem de Manipulação de Dados (DML) � Consultando dados da tabela �Executando o select na tabela ALUNO 11 �Executando o select na tabela ALUNO SELECT MATRÍCULA, NOME, SEXO FROM ALUNO WHERE SEXO = ‘F’; Linguagem de Manipulação de Dados (DML) � Consultando dados da tabela �Como consultar a tabela ALUNO selecionando apenas 12 �Como consultar a tabela ALUNO selecionando apenas os alunos cujo nome seja iniciado com a letra “A” ??? Linguagem de Manipulação de Dados (DML) � Consultando dados da tabela �Executando o select na tabela ALUNO 13 �Executando o select na tabela ALUNO SELECT MATRÍCULA, NOME, SEXO FROM ALUNO WHERE NOME LIKE “A%”; **Com essa query traremos apenas os registros referentes a alunos cujos nomes sejam iniciados com a letra “A”. Linguagem de Manipulação de Dados (DML) 14 Linguagem de Manipulação de Dados (DML) � Utilizando ALIAS (Apelidos) �Exemplo: 15 �Exemplo: SELECT MATRÍCULA AS MAT FROM ALUNO; �O alias também pode ser utilizado em tabelas: SELECT MATRÍCULA FROM ALUNO AS A, PESSOA AS P WHERE A.NOME = P.NOME; Linguagem de Manipulação de Dados (DML) • Eliminação de Repetições: SELECT DISTINCT GÊNEROS AS GÊNERO FROM FILME; – Gêneros diferentes. 16 – Gêneros diferentes. SELECT COUNT (GÊNERO) AS Qtd_GÊNERO FROM FILME; – Quantidade de ocorrência de Gêneros. SELECT COUNT (DISTINCT GÊNERO) AS Dif_GÊNERO FROM FILME; – Quantidade de Gêneros diferentes. Linguagem de Manipulação de Dados (DML) � Algumas funções utilizadas no select: �Contador de registros: SELECT COUNT(*) FROM ALUNO; SELECT COUNT(NOME) FROM ALUNO; 17 SELECT COUNT(NOME) FROM ALUNO; �Somar valores numéricos: SELECT SUM(idade) FROM ALUNO; �Calcular a média: SELECT AVG(idade) FROM ALUNO; �Indicar o valor máximo e o valor mínimo: SELECT MAX(idade) FROM ALUNO; SELECT MIN(idade) FROM ALUNO; Linguagem de Manipulação de Dados (DML) � Ordenando o resultado da consulta (ORDER BY) �Exemplo: 18 �Exemplo: SELECT NOME FROM ALUNO ORDER BY NOTA DESC; NOME NOTA ANA 10.0 BIA 8.5 JOSÉ 7.0 Linguagem de Manipulação de Dados (DML) � Agrupando registros (GROUP BY) �Exemplo: 19 �Exemplo: SELECT TURMA, COUNT(*) AS TOTAL_ALUNOS FROM ALUNO GROUP BY TURMA; TURMA TOTAL_ALUNOS A 30 B 25 C 20 Linguagem de Manipulação de Dados (DML) � Agrupando registros utilizando HAVING �Exemplo: 20 �Exemplo: SELECT TURMA, COUNT(*) AS TOTAL_ALUNOS FROM ALUNO GROUP BY TURMA HAVING COUNT(*) >= 25; TURMA TOTAL_ALUNOS A 30 B 25 Linguagem de Manipulação de Dados (DML) � Atualizando dados da tabela �Executando o update numa tabela: 21 �Executando o update numa tabela: UPDATE NOME_TABELA SET COL1=VAL1, COL2=VAL2,...,COLN=VALN WHERE (expressão lógica); Linguagem de Manipulação de Dados (DML) � Atualizando dados da tabela �Executando o update na tabela ALUNO 22 �Executando o update na tabela ALUNO UPDATE ALUNO SET NOTA = 10 WHERE NOME = ‘ANA’; Linguagem de Manipulação de Dados (DML) � Deletando dados da tabela �Executando o delete numa tabela 23 �Executando o delete numa tabela DELETE FROM NOME_TABELA WHERE (expressão lógica) Linguagem de Manipulação de Dados (DML) � Deletando dados da tabela �Executando o delete na tabela ALUNO 24 �Executando o delete na tabela ALUNO DELETE FROM ALUNO WHERE NOME = ‘JOSÉ’; Exercícios MATRÍCULA NOME TURMA NOTA 2012001 MARIA A 9.0 2009003 JOSÉ A 3.0 2005006 JOÃO B 5.0 2000081 BIA C 8.5 ALUNO 25 1. Insira um novo aluno na tabela ALUNO cujos campos tenham os seguintes valores: Matrícula = 2001005, Nome = Pedro, Turma = B e Nota = 7.0. 2. Utilizando comandos DML faça a contagem de alunos por turma apenas para a(s) turma(s) cuja contagem de alunos seja >= 2. 3. Selecione os alunos cujos nomes sejam terminados com a letra “o”. 2000081 BIA C 8.5 Referências Bibliográficas EMASRI, Ramez; NAVATHE, Shamkant B. Sistema de Banco de Dados. Pearson Education do Brasil. São Paulo. 2005. SILBERSCHARTZ, Abraham; KORTH, Henry; SUDARSHAN, S. Sistemas de Banco de Dados. 26 Dados. 3º edição, São Paulo: Makron Books 1.
Compartilhar