6
Log In / Cadastrese Desenvolvimento SQL Comandos básicos em SQL insert, update, delete e select Este artigo visa auxiliar iniciantes que pretendem iniciar no universo de Banco de Dados utilizando os principais comandos: INSERT, UPDATE, DELETE e SELECT. por Helbert Carvalho Tiago Nesse artigo veremos como incluir, excluir e atualizar registros em um banco de dados. No final do artigo descreverei uma introdução sobre subconsultas. INSERINDO DADOS O comando para inclusão de dados é o INSERT, que possui a seguinte estrutura: Listagem 1: Sintaxe do comando insert Onde: Nome_tabela: nome da tabela no qual será inserido os dados. Listadecampos: nome das colunas que receberão os valores. Listadados: valores que serão inseridos na tabela. Estes campos devem estar na mesma ordem descrita em listadecampos, todos separados por vírgula. Se for utilizado um comando SELECT o mesmo deve retornar a mesma quantidade de colunas com os mesmos tipos de dados especificados em listadecampos. Exemplos: Listagem 2: Exemplos do comando insert Na segunda opção foi omitida a declaração dos campos. Essa sintaxe funciona somente se for repassado valores para todas as colunas. Podemos também passar valores através de um comando SELECT, conforme abaixo: Listagem 3: Insert com valores provenientes de um select Neste comando todos os empregados da tabela EMPREGADOS_FILIAL foram cadastrados na tabela EMPREGADOS. Se o nome dos campos não for citado no comando INSERT, o SELECT deverá retornar valores compatíveis para todos os campos disponíveis na tabela de destino. ATUALIZANDO DADOS O comando para atualizar registros é UPDATE, que tem a seguinte sintaxe: Publicidade Seguir @linhadecodigo 3.164 seguidores 2.468 Pesquisar HOME DESENVOLVIMENTO FRONTEND BANCO DE DADOS EM DESTAQUE TODOS PUBLIQUE 16 291 Like 1 2 3 4 INSERT INTO nome_tabela (lista‐de‐campos) VALUES (lista_dados) ‐‐OU INSERT INTO nome_tabela VALUES (lista_dados) 1 2 3 INSERT INTO EMPREGADOS(CODIGO, NOME, SALARIO, SECAO) VALUES(1, "HELBERT CARVALHO", 1.500, 1) INSERT INTO EMPREGADOS VALUES(1,"HELBERT CARVALHO",1500,1) 1 2 3 4 INSERT INTO EMPREGADOS(CODIGO,NOME, SALARIO, SECAO) SELECT CODIGO,NOME,SALARIO, SECAO FROM EMPREGADOS_FILIAL WHERE DEPARTAMENTO = 2 .net Mag 121 Easy .net mag 39 ASSINE VER TODAS REVISTAS DEVMEDIA 1 Comandos básicos em SQL insert, update, delete e select 2 HTML Básico 3 Menu em CSS Menu dropdown horizontal com HTML5 e CSS3 4 Criando um sistema de cadastro e login com PHP e MySql 5 Excel: Como verificar se existe valores duplicados 6 Código para background HTML e CSS 7 Criando um Menu Vertical DropDown com CSS e HTML 8 Copiando dados com o Robocopy 9 Trabalhando com Div em HTML 10 Excel: Comparando Listas VER TODOS TOP 10 ARTIGOS TOP 10 AUTORES 871 139 39 132

Comandos básicos em SQL - insert, update, delete e select.pdf

Embed Size (px)

Citation preview

Page 1: Comandos básicos em SQL - insert, update, delete e select.pdf

23/03/2015 Comandos básicos em SQL  insert, update, delete e select

http://www.linhadecodigo.com.br/artigo/2975/comandosbasicosemsqlinsertupdatedeleteeselect.aspx 1/6

Log In / Cadastrese

Desenvolvimento  SQL

Comandos básicos em SQL  insert, update, delete eselectEste artigo visa auxiliar iniciantes que pretendem iniciar no universo de Banco de Dados utilizando os principaiscomandos: INSERT, UPDATE, DELETE e SELECT.por Helbert Carvalho Tiago

Nesse artigo veremos como incluir, excluir e atualizar registros em um banco de dados. No final doartigo descreverei uma introdução sobre subconsultas.

INSERINDO DADOSO comando para inclusão de dados é o INSERT, que possui a seguinte estrutura:

Listagem 1: Sintaxe do comando insert

Onde:

Nome_tabela: nome da tabela no qual será inserido os dados.Listadecampos: nome das colunas que receberão os valores.Listadados: valores que serão inseridos na tabela. Estes campos devem estar na mesma

ordem descrita em listadecampos, todos separados por vírgula. Se for utilizado um comandoSELECT o mesmo deve retornar a mesma quantidade de colunas com os mesmos tipos dedados especificados em listadecampos.

Exemplos:

Listagem 2: Exemplos do comando insert

Na segunda opção foi omitida a declaração dos campos. Essa sintaxe funciona somente se forrepassado valores para todas as colunas.

Podemos também passar valores através de um comando SELECT, conforme abaixo:

Listagem 3: Insert com valores provenientes de um select

Neste comando todos os empregados da tabela EMPREGADOS_FILIAL foram cadastrados na tabelaEMPREGADOS. Se o nome dos campos não for citado no comando INSERT, o SELECT deveráretornar valores compatíveis para todos os campos disponíveis na tabela de destino.

ATUALIZANDO DADOSO comando para atualizar registros é UPDATE, que tem a seguinte sintaxe:

Publicidade

Seguir @linhadecodigo 3.164 seguidores   2.468  

Pesquisar

HOME DESENVOLVIMENTO FRONTEND BANCO DE DADOS EM DESTAQUE TODOS PUBLIQUE

 16 291Like

1234

INSERT INTO nome_tabela (lista‐de‐campos)VALUES (lista_dados)‐‐OUINSERT INTO nome_tabela  VALUES (lista_dados)

123

INSERT INTO EMPREGADOS(CODIGO, NOME, SALARIO, SECAO)VALUES(1, "HELBERT CARVALHO", 1.500, 1)INSERT INTO EMPREGADOS VALUES(1,"HELBERT CARVALHO",1500,1)

1234

INSERT INTO EMPREGADOS(CODIGO,NOME, SALARIO, SECAO)      SELECT CODIGO,NOME,SALARIO, SECAO      FROM EMPREGADOS_FILIAL      WHERE DEPARTAMENTO = 2

.net Mag 121 Easy .net mag 39

ASSINEVER TODAS

REVISTAS DEVMEDIA

1 Comandos básicos em SQL  insert,update, delete e select

2 HTML Básico

3 Menu em CSS  Menu dropdown horizontalcom HTML5 e CSS3

4 Criando um sistema de cadastro e logincom PHP e MySql

5 Excel: Como verificar se existe valoresduplicados

6 Código para background HTML e CSS

7 Criando um Menu Vertical DropDown comCSS e HTML

8 Copiando dados com o Robocopy

9 Trabalhando com Div em HTML

10 Excel: Comparando Listas

VER TODOS

TOP 10  ARTIGOS TOP 10  AUTORES

871  139  39  132 

Page 2: Comandos básicos em SQL - insert, update, delete e select.pdf

23/03/2015 Comandos básicos em SQL  insert, update, delete e select

http://www.linhadecodigo.com.br/artigo/2975/comandosbasicosemsqlinsertupdatedeleteeselect.aspx 2/6

Listagem 4: Sintaxe do comando update

Onde:

Nome_tabela: nome da tabela que será modificadaCampo: campo que terá seu valor alteradoNovo_valor: valor que substituirá o antigo dado cadastrado em campoWhere: Se não for informado, a tabela intera será atualizadaCondição: regra que impõe condição para execução do comando

Exemplos:

Listagem 5: Exemplos de uso do comando update

No trecho acima, todos os colaboradores que fazem parte do departamento 1 terá o salário alteradopara 1000.

Listagem 6: Update em mais de um campo

Neste exemplo alteramos mais de um campo de uma vez.

Podemos combinar o comando SELECT com UPDATE. No exemplo a seguir, os funcionários de menorsalário receberão aumento de 10%.

Listagem 7: Outro exemplo de uso do comando update

O comando SELECT também pode ser utilizado na atribuição de valor ao campo:

Listagem 8: Update passando select como valor

REMOVENDO DADOSO comando utilizado para apagar dados é o DELETE.

Listagem 9: Sintaxe do comando delete

Onde:

Nome_tabela: nome da tabela que será modificadaWhere: cláusula que impõe uma condição sobre a execução do comando

Exemplo:

Listagem 9: Exemplo de uso do comando delete

123

UPDATE nome_tabelaSET CAMPO = "novo_valor"WHERE CONDIÇÃO

123

UPDATE DEPARTAMENTOSET SALARIO = 1000WHERE CODIGODEP = 1

123

UPDATE DEPARTAMENTOSET NOME = "HELBERT CARVALHO",SALARIO = 1000WHERE CODIGO = 1

123

UPDATE EMPREGADOSSET SALARIO = salario * 1.1WHERE SALARIO = (SELECT MIN(salario) FROM EMPREGADOS)

123

UPDATE EMPREGADOSSET SALARIO = (SELECT MAX(salario) FROM EMPREGADOS)WHERE DEPARTAMENTO = 5

12

DELETE FROM nome_tabelaWHERE condição

12

DELETE FROM EMPREGADOSWHERE CODIGO = 125

Page 3: Comandos básicos em SQL - insert, update, delete e select.pdf

23/03/2015 Comandos básicos em SQL  insert, update, delete e select

http://www.linhadecodigo.com.br/artigo/2975/comandosbasicosemsqlinsertupdatedeleteeselect.aspx 3/6

Subconsultas SQLUma subconsulta é uma instrução SELECT aninhada dentro de outra instrução SELECT, INSERT,DELETE ou UPDATE. Veja abaixo alguns exemplos de sintaxe:

Comparação [ANY|SOME|ALL] (instrução sql)Expressão [NOT] IN (instrução sql)Expressão [NOT] EXISTS (instrução sql)

Os predicados ANY e SOME, sinônimos, são utilizados para recuperar registro na consulta principalque satisfaçam a comparação com qualquer registro da subconsulta.

Tabela A

X Y

1 5

2 9

3 10

4 6

Tabela B

X Y 10 4 20 3 30 11 40 9Exemplo:

Listagem 11: Exemplo de subconsulta

Resultado:

X Y

3 10

Os registros da tabela A que forem maior do que qualquer registro do resultado da subconsulta serãoselecionados. Repare que nenhum registro da tabela A é maior do que 11, no entanto, o terceiroregistro é maior do que 9.

Vamos a outro exemplo:

Listagem 12: Exemplo de subconsulta com o operador ANY

Resultado:

X Y

1 5

2 9

3 10

4 6

Todos os registros foram selecionados porque o valor de y no resultado da subconsulta assume 3,que é menor do que todos os valores de y da tabela A. Se utilizarmos o ANY com sinal de igualdadeteremos o mesmo resultado da cláusula IN. Exemplo:

Listagem 13: Exemplo com o operador ANY e sinal de igualdade

Resultado:

X Y

2 9

O predicado ANY também pode ser utilizado em conjunto com os comandos UPDATE e DELETE. Vejao exemplo:

Listagaem 14: Update usando o operador ANY

12

SELECT * FROM AWHERE Y > ANY (SELECT Y FROM B WHERE X>20)

1 SELECT * FROM A WHERE Y > ANY (SELECT Y FROM B WHERE X < 40)

1 SELECT * FROM A WHERE Y = ANY (SELECT Y FROM B)

Page 4: Comandos básicos em SQL - insert, update, delete e select.pdf

23/03/2015 Comandos básicos em SQL  insert, update, delete e select

http://www.linhadecodigo.com.br/artigo/2975/comandosbasicosemsqlinsertupdatedeleteeselect.aspx 4/6

Listagem 15: Delete usando o operador ANY

O predicado ALL é utilizado para recuperar os registros da consulta principal que satisfaçam acomparação com todos os registros recuperados na subconsulta. Observe os exemplos:

Listagem 16: Exemplo de select com operador ANY

Resultado:

X Y

Listagem 17: Outro exemplo de select com operador ANY

Resultado:

X Y

3 10

O uso de != ALL equivale a NOT IN.

Listagem 18: Subconsulta com operador ALL

Resultado:

X Y

1 5

3 10

4 6

O predicado IN é utilizado para recuperar apenas os registros na consulta principal que contémequivalência na subconsulta. É o mesmo que =ANY.

Listagem 19: Consulta com operador IN

Resultado:

X Y

2 9

No código a seguir retornamos os empregados que venderam um montante maior que R$ 50.000,00.

Listagem 20: Select com operador IN utilizando HAVING

De maneira contrária, NOT IN pode ser utilizado para recuperar apenas os registros na consultaprincipal para os quais não exista equivalência na subconsulta.

Listagem 21: Select com operador NOT IN

Resultado:

123

UPDATE ASET X = X * 10WHERE Y > ANY (SELECT Y FROM B WHERE X < 40)

12

DELETE FROM AWHERE Y > ANY (SELECT Y FROM B WHERE X < 40)

1 SELECT * FROM A WHERE Y > ALL (SELECT Y FROM B)

1 SELECT * FROM A WHERE Y > ALL (SELECT Y FROM B WHERE X > 30)

1 SELECT * FROM A WHERE Y != ALL (SELECT Y FROM B)

1 SELECT * FROM A WHERE Y IN(SELECT Y FROM B)

1234

SELECT * FROM EMPREGADO WHERE CODIGO IN(SELECT CODEMPREGADO FROM VENDASGROUPY BY CODEMPREGADOHAVING MAX(VALORTOTAL) > 50000)

1 SELECT * FROM A WHERE Y NOT IN(SELECT Y FROM B)

Page 5: Comandos básicos em SQL - insert, update, delete e select.pdf

23/03/2015 Comandos básicos em SQL  insert, update, delete e select

http://www.linhadecodigo.com.br/artigo/2975/comandosbasicosemsqlinsertupdatedeleteeselect.aspx 5/6

X Y

1 5

3 10

4 6

O predicado EXISTS determina se a subconsulta retorna algum registro. Esta cláusula produzresultados semelhantes ao uso de IN. Veja exemplo:

Listagem 22: Consulta com operador EXISTS

Neste comando são retornados o nome e o departamento dos funcionários cuja soma de vendasultrapassaram R$ 50.000,00.

O predicado NOT EXISTS também pode ser utilizado produzindo o efeito contrário:

Listagem 23: Consulta com operador NOT EXISTS

ConclusãoOs comandos SQL fornecem uma linguagem simples para manipulação de dados em um SGBD. Comoo SQL se tornou um padrão, os comandos apresentados funcionarão na maioria dos bancos de dadosrelacionais. Consulte o help do seu banco de dados para possíveis alterações ou particularidades.

Referências

Slides do professor Daniel Wildt da Universidade Federal do Rio Grande do SulBATTISTI, Julio. SQL SERVER 2005 ADMINISTRAÇÃO E DESENVOLVIMENTO

Helbert Carvalho Tiago  Analista de sistemas, com ênfase em sistemas de gestão ERP e bancode dados SQL Server, pode ser contactado através do email [email protected] ouhttp://twitter.com/helbertc

Leia tambémDiferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL

Utilizando FILETABLE no SQL Server 2012SQL Server

Utilizando SEQUENCES no Microsoft SQL Server 2012SQL

Exportação de dados do SQL Server para o Oracle com assistente de importação do SQL ServerSQL

Tunning Index com o DTASQL

12345

SELECT * FROM EMPREGADO WHERE EXISTS(SELECT * FROM PEDIDOS WHERE EMPREGADO.CODIGO = PEDIDOS.CODEMPREGADO GROUP BY PEDIDOS.CODEMPREGADO HAVING MAX(PEDIDOS.VALOR_TOTAL) > 50000)

123

SELECT * FROM EMPREGADO WHERE NOT EXISTS(SELECT * FROM PEDIDOSWHERE EMPREGADO.CODIGO = PEDIDOS.EMPREGADO)

 16 291Like

Estamos aqui:       

871  139  39  132 

Page 6: Comandos básicos em SQL - insert, update, delete e select.pdf

23/03/2015 Comandos básicos em SQL  insert, update, delete e select

http://www.linhadecodigo.com.br/artigo/2975/comandosbasicosemsqlinsertupdatedeleteeselect.aspx 6/6

Linha de Código faz parte do grupo Web03 Política de privacidade e de uso | Anuncie | Cadastrese | Fale conosco

Linha de Código

12.172 pessoas curtiram Linha de Código.

Plugin social do Facebook

Curtir

© 2015 Linha de Código. Todos os direitos reservados