Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado Banco de Dados I DML – Data Manipulation Language Comando Descrição INSERT Adiciona novos dados a uma tabela DELETE Remove dados de uma tabela UPDATE Modifica dados existentes em uma tabela SELECT Busca dados já cadastrados nas tabelas de uma banco de dados Comando Insert Insere linhas numa tabela. Exemplo: - Inserindo uma linha na tabela Funcionarios omitindo os nomes das colunas: insert into funcionarios values ('001','João da Silva','F','Rua das Flores,100','1'); - Inserindo uma linha na tabela Funcionarios indicando os nomes das colunas: insert into funcionarios (matricula, nome, sexo,endereco, coddepto) values ('001','João da Silva','F','Rua das Flores,100','1'); Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado - Incluindo valores a partir de SELECT: insert into assuntos select * from anotacao Comando Update Altera dados de uma tabela Exemplos: update livros set editora='Erica' where editora='Erika' update livros set titulo='Java para Iniciantes', diasprazo=7 where id='12345' Comando Delete Exclui linhas de uma tabela Exemplos: - Eliminando todas as linhas de uma tabela delete from assuntos Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado . - Eliminando algumas linhas de uma tabela delete from funcionarios where coddepto=1 Comando Select Obtém um conjunto de linhas a partir de uma ou mais tabelas. Cláusula Where Representa o operador relacional de restrição, pois indica as condições que devem ser satisfeitas para seleção das linhas de uma tabela. A tabela a seguir apresenta os operadores lógicos que podem ser utilizados em uma cláusula Select . Operador Significado = igual a > maior que < menor que >= maior ou igual <= menor ou igual <> Diferente de AND E OR Ou NOT Negação BETWEEN Testa faixa de valores LIKE Valores correspondentes ao valor especificado IN Valor que seja igual a algum dos valores especificados em uma lista. Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado % Curinga para qualquer combinação de caracteres - Curinga para qualquer caracter na posição Exemplos: - selecionando todos os campos de uma tabela Select * from Cliente; - selecionando campos específicos de uma tabela Select cdCliente, noCliente from Cliente; - classificando o resultado de um select, por dtPedido em ordem ascendente Select * from Pedido Order by dtPedido; -classificando o resultado de um select, por dtPedido em ordem descendente Select * from Pedido Order by dtPedido desc; -eliminando repetição de códigos de cliente utilizando distinct Select distinct cdCliente from Pedido; -selecionando registros (linhas) utilizando formato de data; Select * from Pedido Where dtPedido = '28/02/2007'; - utilizando comparação like com variação (%) no final Select * from Cliente where noCliente like 'MARIA%'; - utilizando comparação like com variação (%) no início Select * from Cliente where noCliente like '%MARIA'; - utilizando comparação like com variação (%) no início e no final Select * from Cliente where Upper(noCliente) like '%MARIA%'; Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado -comparação like com variação em posição fixa ( _ ) Select * from Cliente where Upper(noCliente) like '%MAR_A%'; - selecionando produtos entre 50 e 59 ( inclusive ) Select * from Item where cdProduto between '50' and '59'; - selecionando produtos especificados entre parênteses Select * from Item where cdProduto in ('51', '53', '55', '57', '59'); - selecionando produtos não especificados nos parênteses Select * from Item where cdProduto not in ('70', '80', '90'); - utilizando sub-select na cláusula where de outro select Select * from Pedido where nrPedido in (Select nrPedido from Item where cdProduto = '50'); - condição de select especificando campo nulo Select Nome_Cliente from Cliente where Ender_Cliente is Null; -especificando uma expressão e atribuindo um nome Select Nome_Cliente, (Saldo * 0.05) Juros from Conta_Corrente where Saldo < 0 Order by Nome_Cliente; Obs.: Se qualquer valor da coluna em uma expressão aritmética for nulo, o resultado também será nulo. - join de duas tabelas utilizando sinônimos abreviados (A e B) Select A.nrPedido, A.dtPedido, cdCliente, B.vlProduto/B.qtproduto Unitario from Pedido A, Item B where A.nrPedido = B.nrPedido; - Concatenando valores (operador +) select 'Funcionario: '+nome+' Salário: '+CONVERT(VARCHAR, salario), salario, nome from empregado Funções Uma função é uma rotina que realiza uma operação específica retornando um resultado. SQL possui funções de grupo (group by) e funções de linha simples (single row, escalares). Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado Funções de Grupo (Group By) As funções de grupo atuam sobre um conjunto de linhas retornando um único resultado. Exemplo: Função AVG - Calcula a média dos valores selecionados Select avg(nota) from aluno; Select NrMatricula, avg(nota) media From Aluno Where turma = '1' Group By NrMatricula Having avg(nota) < 6.0 Obs.: Having é uma restrição aplicada a um grupo Função MIN/MAX - Seleciona o menor ou o maior valor dentre os selecionados. Select min(nota) from aluno; Função SUM - Somatório dos dados da coluna especificada. Select sum(faltas) from aluno Função COUNT - Retorna o número de linhas da consulta. Select count(*) from curso Select count(*) QtRegs from curso Algumas Funções de Data no SQLSERVER: - DATEADD: soma ou subtrai uma certa quantidade de dias de uma data retornando uma nova data SELECT CONVERT(VARCHAR(50), DATEADD ( DAY ,-30, '2012-03-15' ), 103) AS [PADRAO BRASILEIRO] SELECT DATEADD(day,-30,'2012-10-01') - GETDATE(): recupera a data atual/hora atual Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado select GETDATE() - DATEPART: retorna a parte especificada de uma data como um inteiro. SELECT DATEPART ( YEAR , '02/01/2004' ) Retorna 2004 SELECT DATEPART ( MONTH , '02/01/2004' ) Retorna 2 SELECT DATEPART ( DAY , '02/01/2004' ) Retorna 1 Comando Case SELECT CASE WHEN Letters = 'First' THEN 1 WHEN Letters = 'Second' THEN 2 WHEN Letters = 'Third' THEN 3 ELSE 0 END AS LN FROM LettersTable Bibliografia Greenberg Nancy, Nathan Priya, Learn Oracle from Oracle. Introdução ao Oracle 9i: SQ. Oracle University. 2002. Munari, Antonio Cesar. Apostila Sql em Ambiente Oracle. Bernardo, Antonio Sérgio. Apostila Banco de Dados Relacional, SqlServer e Projeto de Banco de Dados. 2011. http://msdn.microsoft.com/pt-br/library. Acesso em 23/09/2012.
Compartilhar