BDII SQL DML Revisão 8

Tamanho: px
Começar a partir da página:

Download "BDII SQL DML Revisão 8"

Transcrição

1 exatasfepi.com.br BDII SQL DML Revisão 8 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

2 SQL Introdução Manipulação de dados Consultas básicas 2

3 SQL Introdução Manipulação de dados Consultas básicas 3

4 Introdução A DML (Data Manipulation Language) é a parte (módulo) do SQL usado para realizar: Inclusão Exclusão Alteração Consultas 4

5 SQL Introdução Manipulação de dados Consultas básicas 5

6 Manipulação de dados A SQL possui uma parte denominada DML que possui comandos para: inserir, atualizar e remover dados em tuplas nas tabelas INSERT UPDATE DELETE 6

7 Modelo a ser trabalhado 7

8 Comando INSERT A inserção pode ser realizada de duas formas: Sem indicar o nome dos atributos Indicando o nome dos atributos 8

9 Comando INSERT Sem indicar os nomes dos atributos Devemos informar o nome da relação e uma lista de valores relacionados ao tipo de cada atributo na ordem em que foram criados na tabela Nesta forma, devemos informar valores para todos os atributos INSERT INTO <tabela> VALUES (<lista_de_valores>); 9

10 Inserindo cliente INSERT INTO pessoa VALUES( , 'MG123456', 'Mariana', 'de Souza', 'Duarte', ' ', , 'Rua A, nº 35, Morro Chic', 'Itajubá', 'MG', 'F', '950.00' ); 10

11 Exercício Insira os seguinte clientes: CPF RG NOME ENDEREÇO SEXO SALARIO MG Jussara L Gonçalves Duarte RJ Lucas L Duarte MG98734 Davi L Duarte SP12888 Samuel L Duarte Rua C, 87, Itajubá MG Rua L, 807, Maria da Fé MG Rua C, 87, Itajubá MG Rua Coronel, 87, Rio de Janeiro RJ F M M M

12 Visualizando o resultado Para vermos o resultado dos comandos anteriores usaremos o comando SELECT que será detalhado mais adiante SELECT * FROM cliente; 12

13 Inserindo conta INSERT INTO conta VALUES( 1, 1, 'ABC123', 500 ); 13

14 Dados do banco Tipos de conta 1 Conta Corrente 2 Poupança Tipos de transação 1 Crédito DEP (depósito) SAL (salário) REN (rendimentos) 2 Débito SAQ (saque) TRN (transferência) PAG (pagamento) 14

15 Exercício Insira mais quatro contas com limites: Poupança CC CC Poupança

16 Comando INSERT Podemos fazer uma inserção na tabela pessoaconta usando o comando insert INSERT INTO pessoaconta VALUES( , 1, ' ', '13:00:00' ); 16

17 Comando INSERT Podemos fazer uma inserção na tabela pessoaconta usando o comando insert INSERT INTO pessoaconta VALUES( , 1, ' ', '13:00:00' ); Porque ocorreu um erro neste comando? 17

18 Comando INSERT O comando violou a integridade referencial que existe na tabela clienteconta O cpf deve existir em cliente para que o comando possa ser executado INSERT INTO pessoaconta VALUES( , 1, ' ', '13:00:00' ); 18

19 Exercício de fixação Ligue os demais clientes às suas respectivas contas 19

20 Comando INSERT Indicando o(s) nome(s) do(s) atributo(s) Devemos informar o nome da relação, a lista de atributos e uma lista de valores relacionados ao tipo de cada atributo na ordem em que foram indicados Nessa forma, podemos omitir valores para os atributos com null permitido e valor default configurado INSERT INTO <tabela> (<lista_de_atributos>) VALUES( <lista_de_valores>); 20

21 Comando INSERT INSERT INTO pessoa(cpf, rg, pnome, unome, nascimento, salario) VALUES( , 'SP ', 'José', 'Santos', ' ', 1000 ); 21

22 MySQL Podemos automatizar a inserção de data e hora no MySQL 1. Remova os campos dataabertura e horaabertura da tabela pessoaconta 2. Crie um campo chamado abertura do tipo timestamp e na cláusula DEFAULT adicione o valor CURRENT_TIMESTAMP 3. Realize uma inserção sem informar dados para este novo campo 22

23 Populando o banco de dados Quando queremos realizar testes em um banco é muito comum desejarmos popular esta base com valores aleatórios Podemos criar scripts ou programas para fazer este serviço para nós, outra forma muito interessante é usamos serviços na internet Para isso podemos procurar por sites que ofereçam serviço de random data generator 23

24 Populando o banco de dados 1. Configure o serviço para gerar dados clientes gerentes contas 2. Ligar pessoas as contas 1. ± 600 individuais 2. ± 200 conjuntas 24

25 Populando o banco de dados 1. Salve como script SQL, se for possível 2. Salve o arquivo na pasta de script SQL 3. Execute com o comando source do MySQL Obs1.: execute uma linha do arquivo gerado para ver se a sintaxe está correta, caso esteja, execute todo o arquivo Obs2.: caso apresente erro no source, copie e cole os comandos no prompt 25

26 MySQL Em várias situações é importante fazer backup do banco de dados, não somente para armazenar uma cópia mas também Realizar testes de desempenho Realizar testes de alterações Realizar consultas complexas que demandaria muito processamento da máquina onde o banco está etc 26

27 MySQL Fazendo dump para arquivo <path>mysqldump --opt [nome_banco] > [nome_arquivo.sql] -h [host] -u [usuário] -p [senha] c:\<path>\mysql\bin\mysqldump -C banco > c:\sql\bkpbanco.sql -h localhost -u root -p 27

28 MySQL Restaurando backup feito com dump mysql --opt [nome_do_banco] < <path>[nome_arquivo_dump] mysql -u root -p banco < c:\sql\bkpbanco.sql 28

29 Exercícios de Fixação Crie scripts de inserção para todas as outras tabelas, realize os ajustes caso seja necessário Obs3.: tente manter as colunas com a mesma quantidade de dígitos para facilitar a cópia por coluna 29

30 Exercícios de Fixação 1. Configure o serviço para gerar dados clientes gerentes contas 4. 5 agências 5. ± transações 2. Ligar pessoas as contas 1. ± 600 individuais 2. ± 200 conjuntas 3. Ligar as contas aos gerentes 4. Ligar as contas às agências 5. Ligar as contas às transações 30

31 Exercício de fixação Realize o backup do schema banco de sua máquina Remova o schema com o comando drop shchema database Crie o schema banco novamente Certifique-se de que ele está vazio (show tables) Levante a base com o arquivo de backup criado 31

32 Comando UPDATE O comando UPDATE pode ser usado para alterar valores de uma única tupla individualmente ou pode alterar vários valores usando a cláusula WHERE Uma atualização na chave primária pode gerar uma alteração em cascata dependendo do comando DDL usado para a construção das restrições 32

33 Alterando valores UPDATE <nome_tabela> SET <nome_atributo> = <valor> WHERE <condicao> A cláusula WHERE executa uma seleção na tabela (σ nome = André ) e aplica a alteração em todas as tuplas que satisfaçam a condição dada 33

34 Alterando valores Dica: Sempre antes de realizar um comando UPDATE, execute o comando SELECT com a condição desejada para ver quais tuplas serão alteradas UPDATE pessoa SET mnome = 'Luiza'; Obs.: SELECT * FROM pessoa para ver o resultado 34

35 Alterando valores UPDATE pessoa SET salario = salario * 1.10 WHERE salario < 1000; Para alterarmos várias relações precisamos criar vários comandos UPDATE Obs.: SELECT * FROM pessoa para ver o resultado 35

36 Exercícios de fixação Altere os salários dos clientes acrescentando R$ 100,00 para cada um Altere todos os s para o valor [email protected] Altere todas as senhas de todas as contas poupança para '***' Existem varias cidades com unidade federativa errado, corrija essas linhas 36

37 Comando DELETE O comando DELETE é usado para remover tupla(s) de uma relação Se usado sem a cláusula WHERE, o comando DELETE remove todas as tuplas da relação Se usada a cláusula WHERE, somente as tuplas que satisfazem a condição serão removidas 37

38 Comando DELETE DELETE FROM <nome_tabela> WHERE <condição> A cláusula WHERE executa uma seleção na tabela (σ salario > 1000 ) e remove as tuplas que satisfaçam a condição dada 38

39 Comando DELETE DELETE FROM contaagencia WHERE numeroa = 2; DELETE FROM contaagencia; Dica: sempre antes de realizar um comando DELETE execute o comando SELECT correspondente para ver quais tuplas serão removidas Obs.: SELECT * FROM pessoa para ver o resultado 39

40 Exercícios de fixação Remova todos os clientes do sexo feminino Remova todos os cliente que possuem salário entre 9000 e Remova todos os clientes de Itajubá Remova todos os clientes Remova todas as contas Levante o banco novamente 40

41 SQL Introdução Definição de dados Restrições básicas Alteração de esquemas Manipulação de dados Consultas básicas 41

42 Consultas básicas A SQL possui um comando básico para recuperação de informação em banco de dados O comando usado para recuperar dados, além de outras coisas, é o comando SELECT o comando SELECT pode ser usado com ou sem condições de seleção cláusula WHERE, mas sempre deve ser acompanhado da cláusula FROM 42

43 Consultas básicas A ausência da cláusula WHERE indica que não há nenhuma condição para a seleção das tuplas Isso significa que todas as tuplas da relação especificada na cláusula FROM estão qualificadas e fazem parte do conjunto reposta 43

44 SELECT A forma básica para uma consulta em SQL é: SELECT <lista de atributos> FROM <lista de tabelas> Exemplo: SELECT cpf, rg, pnome, unome, salario FROM pessoa; 44

45 SELECT <lista de atributos> é uma lista dos nomes dos atributos cujos valores serão recuperados e exibidos (Projeção) <lista de tabelas> é uma lista com os nomes das relações necessárias para processar a consulta 45

46 Lista de atributos Podemos listar todos os atributos que queremos que apareçam nos resultados da consulta Quando desejarmos que todos os atributos sejam mostrados podemos usar o asterisco (*) A presença do * no comando SELECT indica que queremos que todas as colunas (atributos) sejam exibidas 46

47 SELECT Uso do asterisco: SELECT * FROM <lista de tabelas> Exemplo: SELECT * FROM conta; 47

48 Consultas básicas O comando SELECT está relacionada à projeção da álgebra relacional e não à seleção A cláusula WHERE é responsável por avaliar condição, portanto, está relacionada à seleção da Álgebra Relacional 48

49 Cláusula WHERE É usada para filtrar os resultados obtidos pelo comando SELECT A cláusula WHERE extrai do resultado obtido pelo comando SELECT, as linhas que satisfaçam a condição de filtragem especificada 49

50 SELECT WHERE A forma básica para uma consulta em SQL é: SELECT <lista de atributos> FROM <lista de tabelas> WHERE <condição>; <condição> é uma expressão condicional que identifica as tuplas que serão recuperadas pela consulta 50

51 Exemplo SELECT * FROM cliente WHERE cpf = ; SELECT * FROM gerente WHERE registro = 41; SELECT * FROM conta WHERE tipo = 2; SELECT * FROM transacao WHERE observação = 'andré'; 51

52 Cláusula WHERE Operadores relacionais usados em SQL >, <, >=, <=, = e <> Operadores lógicos NOT, AND e OR Outros operadores podem ser usado para comparar atributos com atributos ou atributos com valores e serão abordados adiante 52

53 Exercício de fixação Selecione todos os clientes que moram em Maria da Fé e nasceram nos anos 80 Selecione todas as pessoas que nasceram depois de 1990 e que não são do sexo masculino Selecione todas as contas que são Conta Corrente Selecione todas as transações que são crédito e não sejam saque 53

54 Projeção A projeção na álgebra relacional, foi usada para indicarmos qual(is) coluna(s) desejamos ver no resultado No SQL, basta colocarmos na <lista de atributos> os atributos (colunas) que desejamos ver na resposta ao invés de usar o * (todas as colunas) 54

55 Exemplo SELECT pnome, unome, nascimento FROM pessoa; SELECT registro, salario FROM gerente WHERE salario > 10000; SELECT tipo FROM conta; 55

56 MySQL O MySQL possui uma cláusula chamada LIMIT que limita o número de linhas a serem exibidas após um comando SELECT Se informarmos dois parâmetros na cláusula LIMIT temos: offset Indica o deslocamento para a primeira linha a ser mostrada maxrow Indica quantidade máxima de linhas a serem exibidas 56

57 MySQL Exemplo: SELECT * FROM pessoa LIMIT 10; Exibe as 10 primeiras linhas SELECT * FROM pessoa LIMIT 5, 3; Exibe 3 linhas a partir da 5ª linha Obs.: Esse comando recupera todos os clientes, mas somente as 10 primeiras linhas do resultado serão exibidas 57

58 DISTINCT A cláusula DISTINCT é usada no comando SELECT para recuperar valores sem repetições Quando tabelas possuírem campos com valores duplicados, a cláusula DISTINCT remove as repetições e retorna uma lista com valores únicos 58

59 DISTINCT Sintaxe: SELECT DISTINCT <lista de atributos> FROM <lista de tabelas> WHERE <condição>; 59

60 Exemplo SELECT abreviacao FROM transacao; O comando gera muitas repetições, imagine que queremos ver quais os tipos de contas existentes SELECT DISTINCT abreviacao FROM transacao; 60

61 Exercícios de fixação Mostre quais cidades possuem agencia deste banco Quais os tipos de transações já foram realizadas e suas respectivas abreviações Alguém pagou conta de luz e registrou observação para isso? Quais cidades são naturalidade de pessoas? Quantos endereços diferentes existem? 61

62 Operador BETWEEN Operador usado pelo SQL para verificar se os valores de um determinado campo estão dentro de um intervalo definido Pode ser usado para verificar intervalo Numérico Texto Data Tempo 62

63 BETWEEN Sintaxe: SELECT <lista de atributos> FROM <lista de tabelas> WHERE <nome atributo> BETWEEN <valor1> AND <valor2>; 63

64 Exemplo SELECT pnome FROM pessoa WHERE pnome BETWEEN 'Amanda' AND 'Carol'; SELECT numero, tipo, valor FROM transacao WHERE valor BETWEEN AND ; 64

65 Exercícios de fixação Mostre quais os tipos de transações foram realizadas com valores entre 1450 e 1500 Mostre o cpf e nome completo dos cliente que possuem salario entre 9900 e Mostre quais gerentes foram admitidos entre 01/02/2015 e 31/03/2015 Mostre as pessoas que tenham o primeiro nome entre Aaron e Ashley ou Samuel e Susan 65

66 Comparações entre substrings O operador LIKE é usado para realizar comparações entre partes de uma cadeia de caractere O operador LIKE busca pelo padrão passado como base para as comparações As partes de cadeias podem ser especificadas usando caracteres reservados como (%) e (_) 66

67 Comparações entre substrings Caractere % substitui um número arbitrário entre 0 ou mais caracteres na string passada como padrão de busca Caractere _ substitui um único caractere na string passada como padrão de busca 67

68 Comparações entre substrings Exemplo encontre todos clientes que tenham seu primeiro nome iniciado com a letra V : SELECT * FROM pessoa WHERE pnome LIKE 'V%'; 68

69 Comparações entre substrings Podemos usar o operador LIKE em buscas por datas Exemplo: Procure todos os clientes que nasceram nos anos 60 no mês de fevereiro SELECT * FROM pessoa WHERE nascimento LIKE ' 6_-02- '; 69

70 Comparações entre substrings Quando precisarmos usar o caractere % como padrão de busca, devemos usar um caractere de escape (\) Exemplo: Selecione todas as transações que possuem o caractere % no campo observação SELECT * FROM transacao WHERE obs LIKE '%\%%'; 70

71 Comparações entre substrings Se precisarmos buscar substrings que possuam caracteres como,,,, etc devemos proceder da mesma forma usando o caractere de escape (\) Se o caractere de escape fizer parte da string, o mesmo princípio deve ser seguido 71

72 Exercícios de fixação Encontre todas as agências que possuem um caractere r no seu nome Encontre todas as contas que possuam na senha alfabética a sequência: um caractere Q seguido de qualquer outro caractere, seguido de um caractere M Encontre todas as pessoa que possuam a sequência Wi... no primeiro nome ou no nome do meio ou no último nome Selecione todas as pessoas que possuam governamental Selecione todas as pessoa que possuem com domínio w3 72

73 Operadores aritméticos Podemos usar os operadores aritméticos para realizar operações sobre valores numéricos ou atributos com domínios numéricos Exemplo: Mostre o resultado do aumento de 10% sobre os salários dos gerentes que nasceram no mês de fevereiro e o valor real do aumento dado 73

74 Operadores aritméticos SELECT cpf, salario, 1.1 * salario, 1.1 * salario salario FROM gerente WHERE admissao LIKE '%-02-%'; 74

75 Concatenação de cadeias O operador ( ) é usado para concatenar cadeias no padrão SQL O operador também pode ser usado para concatenas data, horário e timestamp Exemplo: SELECT pnome ' ' unome FROM pessoa LIMIT 10; 75

76 MySQL A concatenação é feita através do comando concat() Exemplo: listar os aniversariantes do mês de agosto SELECT concat(pnome, ' ', unome) FROM pessoa WHERE nascimento LIKE ' -09- '; 76

77 Exercício de fixação Mostre o nome completo e o valor de 10% do salário das pessoas onde 10% seja maior do que 1990 Mostre o número, abreviação e tipo da transação concatenados em um único campo, o valor total e o valor de uma taxa de 0,1% que será cobrada sobre as transações com valor superior a

78 Funções de agregação O MySQL possui várias funções de agregação. As principais são: COUNT() SUM() AVG() MAX() MIN() 78

79 COUNT() Podemos realizar contagens específicas usando o comando COUNT() O comando conta a quantidade de linhas presentes em um resultado Exemplo: SELECT COUNT(*) FROM pessoa; 79

80 Exercícios de fixação Mostre a quantidade de transações que foram realizadas com valores entre 1000 e 2000 Exiba a quantidade de contas que existem com limite entre 200 e 800 Quantas agências desse banco existem? Quantos clientes são do sexo masculino? Quantos cliente são maior de idade? 80

81 SUM() Podemos realizar a soma de todos os valores de um campo numérico usando a função SUM() A função SUM() soma todos os valores de um campo retornando um único valor Exemplo: SELECT SUM(salario) FROM pessoa; 81

82 Exercícios de fixação Calcule a soma de todos os depósitos realizados acima de Calcule a soma de todos os salários dos gerentes admitidos em fevereiro Calcule a soma de todas os saques realizados Calcule a soma de todos os salários dos clientes que têm o primeiro nome começando com a sequencia An... 82

83 AVG() Podemos realizar a média de todos os valores de um campo numérico usando a função AVG() A função AVG() retornando um único valor que representa a média aritmética entre os valores Exemplo: SELECT AVG(salario) FROM pessoa; 83

84 Exercícios de fixação Calcule o salário médio dos gerentes Calcule o salário médio dos clientes do sexo feminino Calcule o valor médio de depósitos Calcule o valor médio de saques Calcule o valor médio de pagamentos 84

85 MAX() Podemos identificar o maior valor entre todos os valores de um campo numérico usando a função MAX() A função MAX() retorna um único valor que representa o maior valor em um conjunto de valores Exemplo: SELECT MAX(salario) FROM pessoa; 85

86 MIN() Podemos identificar o menor valor entre todos os valores de um campo numérico usando a função MIN() A função MIN() retorna um único valor que representa o menor valor em um conjunto de valores Exemplo: SELECT MIN(salario) FROM pessoa; 86

87 Exercício de fixação Exiba o maior e o menor salário dos clientes homens Exiba a diferença entre o maior e o menor salário das clientes Exiba o maior, o menor e a diferença salarial entre o maior e menor salário dos gerentes Exiba o maior, o menor e a diferença salarial entre o maior e menor salário dos clientes Exiba o maior e menor depósito realizado Exiba o maior e o menor saque realizado Exiba o maior, o menor e a diferença entre o maior valor e o menor valor de pagamento realizado 87

88 Date e time Podemos tratar geralmente data e hora como uma sequência de caracteres usando o operador LIKE E muitas situações, é conveniente podermos realizar operações com este tipo de informação 88

89 MySQL O MySQL permite recuperemos informações de datas como o dia o mês e o ano separadamente DAY(): retorna o dia do mês MONTH(): retorna o número do mês YEAR(): retorna o ano da data Obs.: se a data for ' ', o valor recuperado será 0 89

90 Exemplo SELECT cpf, nascimento, DAY(nascimento), MONTH(nascimento), YEAR(nascimento) FROM pessoa WHERE YEAR(nascimento) = 1990; 90

91 Exercício Exiba a data de nascimento na forma dia/mês/ano Exiba quantas pessoas fazem aniversário no dia 27 de qualquer mês Exiba quantas pessoas fazem aniversário no mês de agosto Exiba quantas pessoas fazem aniversário no ano de 1995 Exiba a média salarial dos clientes que fazem aniversário no mês de dezembro 91

92 Exercício Exiba a quantidade de transações realizadas entre março e maio de 2016 Exiba a média dos salários dos gerentes que não foram admitidos no mês de fevereiro de qualquer ano Exiba o maior e o menor salários dos clientes nascidos entre os anos de 1990 a 2000 e os meses de junho a setembro Exiba o maior salario, o menor salario, a média salarial e a quantidade de clientes do sexo masculino que fazem aniversário no mês de agosto Exiba a quantidade de clientes do sexo feminino que fazem aniversário no dia 25 de qualquer mês e tenham salário menor do que

93 Operações com datas O SQL padrão permite usar os operadores (+) e ( ) para operação entre data, tempo e timestamp Os valores envolvidos devem ser sempre datas e intervalos para evitar problemas SELECT nascimento FROM pessoa LIMIT 10; SELECT nascimento + 20 FROM pessoa LIMIT 10; 93

94 Operações com data SELECT nascimento, nascimento + INTERVAL 1 year FROM pessoa LIMIT 10; SELECT nascimento, nascimento + INTERVAL 2 month FROM pessoa LIMIT 10; SELECT nascimento, nascimento + INTERVAL 25 day FROM pessoa LIMIT 10; 94

95 Operações com tempo SELECT horaabertura, horaabertura + INTERVAL 1 hour FROM pessoaconta LIMIT 10; SELECT horaabertura, horaabertura + INTERVAL 10 minute FROM pessoaconta LIMIT 10; SELECT horaabertura, horaabertura + INTERVAL 30 second FROM pessoaconta LIMIT 10; 95

96 Operações com datas Se somarmos tipos de valores diferentes, o valor resultante será transformado para um tipo mais completo SELECT nascimento, nascimento + INTERVAL 1 second FROM pessoa LIMIT 10; 96

97 Operações com datas SELECT nascimento, nascimento - INTERVAL 10 year FROM pessoa LIMIT 10; SELECT nascimento, nascimento - INTERVAL 5 month FROM pessoa LIMIT 10; SELECT nascimento, nascimento - INTERVAL 15 day FROM pessoa LIMIT 10; 97

98 Operações com datas Se subtrairmos tipos de valores diferentes, o valor resultante será transformado para um tipo mais completo SELECT nascimento, nascimento - INTERVAL 1 second FROM pessoa LIMIT 10; 98

99 MySQL Podemos obter o valor da data corrente através da função NOW(), SYSDATE() Exemplo: SELECT NOW(), SLEEP(5), NOW(); SELECT SYSDATE(), SLEEP(5), SYSDATE(); 99

100 MySQL No MySQL existem várias funções para manipulação de data, hora e timestamp Como o padrão SQL sugere (+) e (-) temos as funções: ADDDATE SUBDATE DATEDIFF ADDTIME SUBTIME TIMEDIFF 100

101 ADDDATE A função adiciona um intervalo em uma data Sintaxe: ADDDATE(data, INTERVAL expr tipo) onde: data data que se deseja adicionar um intervalo INTERVAL indica que um intervalo será adicionado expr indica um valor numérico tipo tipo (year, month, day) do valor a ser adicionado 101

102 ADDDATE Exemplo: SELECT pnome, nascimento, ADDDATE(nascimento, INTERVAL 3 year) FROM pessoa LIMIT 10; SELECT pnome, nascimento, ADDDATE(nascimento, INTERVAL 5 month ) FROM pessoa LIMIT 10; SELECT pnome, nascimento, ADDDATE(nascimento, INTERVAL 25 day) FROM pessoa LIMIT 10; 102

103 ADDDATE Se o segundo parâmetro da função não for um intervalo, então a função assume que o número representa dias Exemplo: SELECT pnome, nascimento, ADDDATE(nascimento, 60) FROM pessoa LIMIT 10; 103

104 Exercício de fixação Os clientes que completarão 20 anos até a data atual devem receber um aviso de atualização cadastral, selecione estes clientes Selecione os gerentes que possuem mais de 10 anos de casa Selecione as transações que foram realizadas há pelo dois meses 104

105 SUBDATE A função subtrai um intervalo em uma data Sintaxe: SUBDATE(data, INTERVAL expr tipo) onde: data data que se deseja subtrair um intervalo INTERVAL indica que um intervalo será adicionado expr indica um valor numérico tipo tipo (year, month, day) do valor a ser subtraido 105

106 SUBDATE Exemplo: SELECT pnome, nascimento, SUBDATE(nascimento, INTERVAL 3 year) FROM pessoa LIMIT 10; SELECT pnome, nascimento, SUBDATE(nascimento, INTERVAL 5 month ) FROM pessoa LIMIT 10; SELECT pnome, nascimento, SUBDATE(nascimento, INTERVAL 25 day) FROM pessoa LIMIT 10; 106

107 SUBDATE Se o segundo parâmetro da função não for um intervalo, então a função assume que o número representa dias Exemplo: SELECT pnome, nascimento, SUBDATE(nascimento, 60) FROM pessoa LIMIT 10; 107

108 Exercício de fixação Os clientes que completarão 31 daqui um mês devem receber um aviso de atualização cadastral, selecione estes clientes Selecione as transações que foram realizadas há pelo menos cinco meses e não mais que um ano Selecione o número da conta e o cpf do cliente das contas que foram abertas entre 10 e 12 meses atrás 108

109 DATEDIFF Usado para obter a quantidade de dias entre duas datas Exemplo: SELECT DATEDIFF(now(), nascimento) FROM pessoa LIMIT 10; SELECT DATEDIFF(now(), nascimento) div 365 FROM pessoa LIMIT 10; SELECT DATEDIFF(now(), nascimento) mod 365 FROM pessoa LIMIT 10; 109

110 Exercício Crie o código para exibir o nascimento e a quantidade de anos, meses e dias aproximados que o cliente possui. Exemplo: O cliente nasceu em 05/06/1988 e possui aproximadamente 27 anos, 10 meses e 7 dias de vida. 110

111 ADDTIME A função adiciona um tempo determinado Sintaxe: ADDTIME(time, exp) onde: time tempo ao qual se deseja adicionar expr indica um tempo a ser adicionado 111

112 ADDTIME Exemplo: SELECT horaabertura, ADDTIME(horaabertura, '0:0:0.99') FROM pessoaconta LIMIT 10; SELECT horaabertura, ADDTIME(horaabertura, '0:0:10') FROM pessoaconta LIMIT 10; SELECT horaabertura, ADDTIME(horaabertura, '0:15:0') FROM pessoaconta LIMIT 10; SELECT horaabertura, ADDTIME(horaabertura, '1:0:0') FROM pessoaconta LIMIT 10; 112

113 ADDTIME Se o segundo parâmetro da função não for um tempo, então a função assume que o número representa segundos Exemplo: SELECT horaabertura, ADDTIME(horaabertura, 8) FROM pessoaconta LIMIT 10; 113

114 Exercício de fixação Mostre as 10 primeiras contas com a hora de abertura somada com: 999 centésimos de segundos 20 segundos 40 minutos 2 horas 114

115 SUBTIME A função subtrai um tempo determinado Sintaxe: SUBTIME(time, expr) onde: time tempo ao qual se deseja subtrair expr indica um tempo a ser subtraído 115

116 SUBTIME Exemplo: SELECT horaabertura, SUBTIME(horaabertura, '0:0:0.99') FROM pessoaconta LIMIT 10; SELECT horaabertura, SUBTIME(horaabertura, '0:0:10') FROM pessoaconta LIMIT 10; SELECT horaabertura, SUBTIME(horaabertura, '0:15:0') FROM pessoaconta LIMIT 10; SELECT horaabertura, SUBTIME(horaabertura, '1:0:0') FROM pessoaconta LIMIT 10; 116

117 SUBTIME Se o segundo parâmetro da função não for um tempo, então a função assume que o número representa segundos Exemplo: SELECT horaabertura, SUBTIME(horaabertura, 18) FROM pessoaconta LIMIT 10; 117

118 Exercício de fixação Mostre as 10 primeiras contas com a hora de abertura subtraída com: 999 centésimos de segundos 20 segundos 40 minutos 2 horas 10:36:01 118

119 Valores nulos Devemos sempre que possível evitar valores nulos, mas temos sempre que analisar sua necessidade A SQL possui regras para manipular valores nulos Normalmente os valores nulos possuem três interpretações: Valor desconhecido Valor indisponível Valor não aplicável 119

120 Valor nulo desconhecido O valor existe mas não é conhecido Exemplo: Não se conhece a data de nascimento de um cliente em particular, nesse caso, essa data será representada pelo valor NULL 120

121 Valor nulo indisponível O valor existe mas é propositadamente omitido Exemplo: Um cliente possui um telefone mas não quer que este seja armazenado no banco, dessa forma o número omitido será representado por também pelo valor NULL 121

122 Valor nulo não aplicável O valor é indefinido para a tupla em questão Exemplo: Um atributo GrauEscolaridade pode não ser aplicável para um recém nascido, por exemplo, dessa forma, esse valor também será representado pelo valor NULL 122

123 Valores nulos É muito difícil identificarmos qual o sentido para a ocorrência de um valor nulo no banco Por exemplo, o atributo telefone de um cliente pode ter qualquer um dos três sentidos citados A SQL não faz distinção entre os diferentes significados para um valor NULL 123

124 Valores nulos Em geral cada NULL é considerado diferente de outro NULL Quando um valor nulo é comparado em uma expressão, o resultado é considerado UNKNOWN Assim existem três valores lógicos para a SQL: TRUE FALSE UNKNOWN 124

125 Tabela verdade em SQL AND TRUE FALSE UNKNOWN TRUE TRUE FALSE UNKNOWN FALSE FALSE FALSE FALSE UNKNOWN UNKNOWN FALSE UNKNOWN OR TRUE FALSE UNKNOWN TRUE TRUE TRUE TRUE FALSE TRUE FALSE UNKNOWN UNKNOWN TRUE UNKNOWN UNKNOWN NOT TRUE FALSE FALSE TRUE UNKNOWN UNKNOWN 125

126 Valores nulos O uso dos operadores relacionais = ou <> não é apropriado para a comparação com NULL porque, como foi dito, cada valor NULL é diferente em SQL Para isso, a SQL possui os operadores IS NULL (é nulo) e IS NOT NULL (não é nulo) para verificar se o conteúdo de um atributo é nulo ou não é nulo 126

127 Exemplos Selecione todos clientes que possuem e salário nulos Forma incorreta: SELECT * FROM pessoa WHERE = NULL AND salario = NULL; Forma correta: SELECT * FROM pessoa WHERE IS NULL AND salario IS NULL; 127

128 Exemplos Selecione todos clientes que possuem nulo e salário = R$ 800,00 Forma incorreta: SELECT * FROM pessoa WHERE = NULL AND salario = 800; Forma correta: SELECT * FROM pessoa WHERE IS NULL AND salario = 800; 128

129 Exemplos Selecione todos clientes que possuem nulo ou salário = R$ 800,00 Forma incorreta: SELECT * FROM pessoa WHERE = NULL OR salario = 800; Forma correta: SELECT * FROM pessoa WHERE IS NULL OR salario = 800; 129

130 Exercício de fixação Selecione todos os clientes que possuem data de nascimento e e telefone nulos Selecione todos os clientes que possuem data de nascimento ou ou telefone nulos Selecione todos os cliente que possuem cidade ou uf nulos Selecione todos os clientes que possuem sexo e salário nulos 130

131 Ordenando resultados A SQL permite ordenarmos o resultado de uma consulta usando os valores de um ou mais atributos através da cláusula ORDER BY Exemplo: SELECT * FROM pessoa ORDER BY pnome; 131

132 Ordenando resultados Por padrão a ordenação é ascendente (ordem crescente) Podemos usar a palavra chave DESC para indicar que a ordenação desejada é descendente (ordem descrescente) Podemos também usar a palavra ASC para explicitar a ordenação ascendente 132

133 Exemplo SELECT * FROM pessoa WHERE nascimento BETWEEN ' ' AND NOW() ORDER BY pnome; SELECT * FROM pessoa WHERE nascimento BETWEEN ' ' AND NOW() ORDER BY pnome, unome; SELECT * FROM pessoa WHERE nascimento BETWEEN ' ' AND NOW() ORDER BY pnome ASC, unome DESC; 133

134 Exercício de fixação Selecione todas as contas ordenadas de forma descendente por data de abertura Selecione as transações ordenadas pela data de forma descendente Selecione as agências ordenadas de forma ascendente por nome Mostre o sobrenome e nome dos gerentes ordenados por sobrenome 134

135 Exercícios de fixação Selecione o cpf, a data de nascimento e a idade aproximada em anos dos clientes nascidos entre 2000 e 2010 ordenados pela data de nascimento Selecione o cpf, a data de nascimento e a idade aproximada em anos dos clientes nascidos entre 2000 e 2010 ordenados pela idade em ordem crescente Selecione as transações feitas pela conta ordenadas por data e hora de ocorrencia 135

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: [email protected] 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

SQL - Consultas

SQL - Consultas SQL - Consultas 2008.1 Manipulando Dados CONSULTA SELECT INCLUSÃO INSERT ALTERAÇÃO UPDATE EXCLUSÃO DELETE Consultas SQL Realização de consultas em tabelas SELECT atributo1, atributo2,... FROM tabela 1,

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

SQL. Prof. Roger Cristhian Gomes

SQL. Prof. Roger Cristhian Gomes SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

Manipulando a base de dados

Manipulando a base de dados Manipulando a base de dados Uma base de dados pode ser manipulada com quatro operações básicas: Incluir, Apagar, Alterar e Pesquisar. Vale lembrar que como toda linguagem para computadores, o MySQL tem

Leia mais

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011 Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início

Leia mais

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem

Leia mais

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga [email protected] https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

IMPLEMENTAÇÃO DE BANCO DE DADOS

IMPLEMENTAÇÃO DE BANCO DE DADOS IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão

Leia mais

Manipulação de Dados com SQL

Manipulação de Dados com SQL Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language

Leia mais

Prof. Fabiano Taguchi

Prof. Fabiano Taguchi BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] OPERAÇÕES LÓGICAS AND (E) Avalia as condições e devolve um valor verdadeiro caso ambas condições forem

Leia mais

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R 101010101 001010101 101010100 E-BOOK GUIA RÁPIDO DE SQL INTRODUÇÃO Este é um guia rápido de SQL criado pela equipe do TreinaWeb e serve principalmente para iniciantes na linguagem. SQL é a sigla em inglês

Leia mais

MySql. Introdução a MySQL. Andréa Garcia Trindade

MySql. Introdução a MySQL. Andréa Garcia Trindade MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo

Leia mais

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel

Leia mais

As Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados:

As Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados: As Instruções DML As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados: o INSERT - permite a inclusão de novos registros (linhas) nas tabelas o

Leia mais

SQL-99: Esquema de BD EMPRESA

SQL-99: Esquema de BD EMPRESA SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado

Leia mais

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados> BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino

Leia mais

Banco de Dados. Professora: Luciana Faria

Banco de Dados. Professora: Luciana Faria Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é

Leia mais

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para

Leia mais

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação SQL Básica DML Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 22 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 22 de outubro de 2015 1 / 16 1 Introdução 2 SQL DML INSERT SELECT UPDATE

Leia mais

Banco de Dados II. Aula do dia 10/03. Revisão. SQL Estudado até o dia 03/03/2011

Banco de Dados II. Aula do dia 10/03. Revisão. SQL Estudado até o dia 03/03/2011 Banco de Dados II Aula do dia 10/03 Revisão SQL Estudado até o dia 03/03/2011 Operadores de Comparação Operador = > >= <

Leia mais

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza DML Data Manipulation Language Linguagem de Manipulação de Dados Comandos básicos: Insert Update

Leia mais

BDII SQL DML II Revisão 8

BDII SQL DML II Revisão 8 exatasfepi.com.br BDII SQL DML II Revisão 8 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma

Leia mais

Bancos (Bases) de Dados

Bancos (Bases) de Dados Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem

Leia mais

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única Tópicos do Curso: Introdução Listar os principais recursos do Banco de Dados Oracle 10g Apresentar uma visão geral de: componentes, plataforma de internet, servidor de aplicações e suite do desenvolvedor

Leia mais

BDII SQL Junção Revisão 8

BDII SQL Junção Revisão 8 exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6 SQL Introdução Produto cartesiano Nomes alternativos

Leia mais

BANCO DE DADOS PARA WEB

BANCO DE DADOS PARA WEB BANCO DE DADOS PARA WEB PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com [email protected] BANCO DE DADOS O banco de dados será de fundamental importância para a criação de páginas dinâmicas,

Leia mais

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira [email protected] Gilberto Câmara [email protected] Gilberto Ribeiro de Queiroz [email protected] Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML Prof. Angelo Augusto Frozza, M.Sc. [email protected] DML Data Manipulation Language Linguagem de Manipulação de Dados Comandos básicos: Insert Update

Leia mais

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO... Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala 1B137 SQL DML CONTINUAÇÃO...

Leia mais

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011 Banco de Dados I Aula 14 - Prof. Bruno Moreno 11/10/2011 Plano de Aula INSERT UPDATE SELECT-FROM-WHERE Uso de ALIASES SELECT com * DISTINCT Operações de Conjuntos Comparação entre substrings Operadores

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

TLBD II Instruções SQL

TLBD II Instruções SQL TLBD II Instruções SQL Os comandos SQL podem dividir-se em três grandes categorias: DML - Data Manipulation Language - trabalha com linhas; DDL - Data Definition Language - trabalha com objetos; DCL -

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Objetivo: No curso Oracle 11G Introdução ao Oracle, SQL, PL/SQL será abordado desde a introdução da tecnologia do banco de dados em questão como todos os conceitos

Leia mais

SQL DML. Frederico D. Bortoloti [email protected]

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti [email protected] SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

SQL Consultas Básicas

SQL Consultas Básicas SQL Consultas Básicas Consulta a dados de uma tabela select lista_atributos from tabela [where condição] Mapeamento para a álgebra relacional select a 1,..., a n from t where c π a1,..., an (σ c (t)) Exemplos

Leia mais

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome> 1. Manuseio do banco de dados MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS As seguintes instruções manuseiam o banco de dados: cria o banco mostra os bancos

Leia mais

Múltiplas Tabelas. Disciplina de Banco de Dados

Múltiplas Tabelas. Disciplina de Banco de Dados Múltiplas Tabelas Uma das grandes características de um sistema de banco de dados relacional é a capacidade de interagir com múltiplas tabelas relacionadas. Precisamos lembrar que para relacionar tabelas

Leia mais

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

Leia mais

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: [email protected] AULA 03 SQL (Structure Query Language)

Leia mais

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas O que é banco de dados? São conjuntos de registros dispostos

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

BANCO DE DADOS PARA NINJAS

BANCO DE DADOS PARA NINJAS BANCO DE DADOS PARA NINJAS PARANGABA RONNISON REGES VIDAL Ceará, 25 de Outubro de 2016 ROTEIRO l Conhecimento Pra que usar? Ferramentas SGBD's Consultas (Jutsu) Linguagem de Consulta PRA QUE USAR? PRA

Leia mais

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação criar tabela Criar um novo arquivo de banco de dados chamado Escola Criar a tabela, como especificado abaixo: Create table

Leia mais

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS Fábio Roberto Octaviano Restringindo e Ordenando Dados Após o término do Capítulo: Restringir as linhas que são recuperadas por uma consulta

Leia mais

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes Escola Secundária de Albufeira Comandos MySQL (Páginas Web Dinâmicas: PHP e MySQL) ([email protected]) 2009/2010 Criar Base de Dados CREATE DATABASE basededados; Apagar Base de Dados DROP DATABASE basededados;

Leia mais

A linguagem SQL

A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas

Leia mais

Para criarmos um banco de dados no MySql, utilizamos à instrução:

Para criarmos um banco de dados no MySql, utilizamos à instrução: Databases Os objetos que fazem parte de um sistema de banco de dados são criados dentro de um database, uma estrutura lógica responsável por manter a estrutura de tabelas com seus dados. Para criarmos

Leia mais

BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas;

BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas; Engenharia da Computação BANCO DE DADOS Aula SQL Select SELECT - recupera informação do Banco de Dados. Formato mais simples: SELECT colunas FROM tabelas; Vamos considerar a tabela EMP para os exemplos

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL Complementos da Linguagem SQL - Eliminando Tuplas Repetidas Exemplo: Obter o código das editoras que têm livros publicados CodEditora Titulo Publicacao... 04 Banco de Dados 1989 02 Análise 2000 01 XML

Leia mais

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

- Um query block permite a implementação das operações de selecção, projecção e junção da álgebra relacional. 2.3 Linguagens relacionais (continuação) SQL Structured Query Language 1) "Query block" Select From Where - Um "query block" permite a implementação

Leia mais

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka Aula de SQL Comandos DDL André Luiz de Oliveira Eduardo Raul Hruschka E-mail: [email protected] [email protected] Agenda Instalação do MySQL e Workbench Comandos DDL Data Definition Language Criação

Leia mais

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala 937 2 quadrimestre

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Oracle Database: Fundamentos de SQL e PL/SQL

Oracle Database: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens

Leia mais

Introdução ao Banco de Dados. Banco de Dados

Introdução ao Banco de Dados. Banco de Dados Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:

Leia mais

Apresentação Modelo e SQL. André Luiz Montevecchi

Apresentação Modelo e SQL. André Luiz Montevecchi Apresentação Modelo e SQL André Luiz Montevecchi [email protected] Conceitos básicos de um modelo de dados Primary Key Foreign Key Padronização Modelo Sist. Odontológico Revisão SQL -

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Pesquisas em Tabelas

Pesquisas em Tabelas Projeto e Administração de Banco de Dados Pesquisas em Tabelas Objetivo Nesta unidade você vai estudar sobre pesquisas em linguagem SQL incluindo comandos de junção de tabelas. Introdução Agora que temos

Leia mais

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki PROGRAMA 3.SQL Básico 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação 1 3.SQL Básico A linguagem SQL foi desenvolvida para o ambiente relacional, podendo ser adaptada a ambientes

Leia mais

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Oracle Database 10g: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer

Leia mais

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT 2) Componentes do Select: - DISTINCT - WHERE - AND e OR - ORDER BY 2) Visão Geral - A SQL é dividida em

Leia mais

GBC043 Sistemas de Banco de Dados

GBC043 Sistemas de Banco de Dados Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala 1B137 Avisos Vista da prova 1 com

Leia mais

Utilizando o Postgres - comandos SQL para a manipulação de dados

Utilizando o Postgres - comandos SQL para a manipulação de dados Utilizando o Postgres - comandos SQL para a manipulação de dados SELECT A declaração SELECT é utilizada para selecionar os dados de um banco de dados. SELECT nome FROM clientes WHERE A cláusula WHERE é

Leia mais

SISTEMAS DE INFORMAÇÃO

SISTEMAS DE INFORMAÇÃO Prof. Rhyan Ximenes SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados II E x c e l ê n c i a n o s e u f u t u r o fluci anofei j ao.com. br Semest r e: º Turma: 02 Turno: Noite Dat a: 21/06/13 Not a:

Leia mais

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de Introdução O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language). O padrão SQL define precisamente uma interface SQL para a

Leia mais

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

Discussão exercício aula 18. SQL Linguagem de Manipulação de Dados. Discussão exercício aula 18. Discussão exercício aula 18 SQL.

Discussão exercício aula 18. SQL Linguagem de Manipulação de Dados. Discussão exercício aula 18. Discussão exercício aula 18 SQL. Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Discussão exercício aula 18 Profa. Maria Camila Nardini Barioni [email protected] Bloco B - sala 1B137

Leia mais

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais