Inserir, alterar e excluir dados com insert into, update e delete

Tutorial que mostra vários exemplos de como inserir dados com insert into, alterar dados com update e excluir dados com delete. Exemplos para SQL Server e MySQL

Em SQL as instruções DML (Data Manipulation Language) são usadas para manipulação de dados e consiste nas operações de inserir dados (insert into), alterar dados (update) e excluir dados (delete).  Inserir, alterar e excluir dados são consideradas operações essenciais e de grande aplicação nas operações com banco de dados.  

insert into, update e delete são comandos da linguagem SQL e não dos bancos de dados, como o Oracle, SQL Server, Access ou MySQL. Isto significa que o aprendizado destes comandos tem enorme abrangência, pois você poderá usá-los em qulaquer banco de dados relacional, como os bancos acima citados.

Inserir dados com insert into

Para inserir linhas em uma tabela usamos o comando INSERT. Este comando faz parte das instruções DML (Data Manipulation Language) ou Linguagem de manipulação de dados.

Exemplo 1:  Insert into em SQL Server e Access

INSERT INTO empregados(nome, data_nascimento, salario, cidade, estado)
VALUES('José','05/14/1965',1000,'Brasilia','DF')

Este mesmo exemplo deve ser tratado de forma diferente para o MySQL, pois o formato de data que ele opera é diferente do SQL Server. Veja como fica o mesmo exemplo para o banco MySQL.

Exemplo 1: Insert into em MySQL

INSERT INTO empregados(nome, data_nascimento, salario, cidade, estado)
VALUES('José','1965-15-14',1000,'Brasilia','DF')

No caso da coluna codigo_empregado nós não podemos usar o insert para tentar inserir um valor nesta coluna, pois a mesma foi criada com o argumento Identity, que faz a geração automática dos valores desta coluna.

Observe que as colunas do tipo texto (nome, cidade e estado) e a coluna do tipo data (data_nascimento) recebem os valores entre (aspas simples ou apóstrofo), porém, na coluna numérica (salário) o valor foi passado sem o uso de aspas simples.

No caso do MySQL a data tem o formado de ano, mês e dia.

Exemplo 2: SQL Server e Access

INSERT INTO empregados(nome, data_nascimento)
VALUES('João','12/15/1960')

Lembrando que o MySQL trata a data no formato ano-mes-dia, portanto devemos fazer esta alteração. Veja o mesmo exemplo para MySQL.

INSERT INTO empregados(nome, data_nascimento)
VALUES('João','1960-12-15')

Observe que não usamos todas as colunas da tabela empregados criada anteriormente, ou seja, você pode fazer um insert em apenas algumas colunas. Neste caso as demais colunas irão receber valores nulos.

Exemplo 3: SQL Server

INSERT INTO empregados(nome, data_nascimento, salario)
VALUES('Maria','22/06/1954',1420,52)

Em MySQL o exemplo fica assim:

INSERT INTO empregados(nome, data_nascimento, salario)
VALUES('Maria','1954-06-22',1420,52)

O exemplo acima causou um erro porque houve excesso de valores, ou seja, perceba que o valor 1420,52 tem uma vírgula e isto fez com que o banco de dados entendesse como sendo dois valores. Neste caso a vírgula deverá ser substituido por ponto, ao invés de usar 1420,52, use 1420.52.

Alterar dados com update

Para alterar linhas em uma tabela usamos o comando UPDATE. Este comando faz parte das instruções DML (Data Manipulation Language) ou Linguagem de manipulação de dados.

UPDATE empregados set nome='João da Silva',cidade='São Paulo' where codigo_empregado=2

No exemplo acima, alteramos o nome para João e a cidade para São Paulo, mas é importante observar que esta alteração só irá ocorrer onde o código do empregado for igual a 2.

A cláusula where é usada para criar um filtro, ou seja, para determinar quais as linhas serão afetadas.

CUIDADO: Se você não especificar a cláusula where as modificações serão aplicadas em todas as linhas da tabela.

Excluir dados com delete

Para excluir linhas em uma tabela usamos o comando DELETE. Este comando faz parte das instruções DML (Data Manipulation Language) ou Linguagem de manipulação de dados.

DELETE FROM empregados where codigo_empregado=1

CUIDADO: Se você não especificar a cláusula where todas as linhas da tabela serão excluídas.

No exemplo acima, será excluído a linha em que o código do empregado for igual a 1

A cláusula where é usada para criar um filtro, ou seja, para determinar quais as linhas serão afetadas.

Para excluir todas as linhas de uma tabela use o comando Delete como no exemplo a seguir:

DELETE FROM empregados



Veja também:





// Comentários

RENATO S. CARDOSO // Niterói // 03/10/2008 04:26:00

Estou fazendo uma pesquisa e precisosaber como:

crio as tabelas e os relacionamentos?

Como Insiro 2 fornecedores, 3 peças e 4 relacionamentos (FORNECEDORPECA)?

Como seleciono os pares de fornecedores que se encontram na mesma cidade e como expresso em álgebra relacional?.

Como seleciono as peças fornecidas por fornecedores da cidade do “Rio de Janeiro”?

Como seleciono as peças ordenadas por nome de forma ascendente?

Como seleciono os fornecedores que não fornecem peças?

Como seleciono a quantidade de peças fornecidas por fornecedor?

Raul Libório // Salvador // 12/10/2008 12:37:00

Valeu cara, tava com um problema na implementação do cacic (software publico) e a dica de mudar a linha ajudou (num resolveu.. mas ajudou XD)

Vinicius // Sao Paulo // 03/11/2008 13:10:00

Ótimo esse site :s!

IGOR // BRASILIA // 12/03/2009 15:13:00

Valeu, deu uma ajuda! Parabéns pela iniciativa.

helder // Maputo // 16/11/2009 15:44:00

Adorei,foi muito util.

Ubiratan Nascimento // Caxias do sul // 08/04/2010 08:28:00

Gostaria de saber se tem como excluir 2 linhas em um unico comando?

to tentando fazer da seguinte forma

delete * from nomedatabela where usuario=1 and usuario=3

e outra, se tem como alterar uma tabela ja pronta, ex: ha 2 campos que foram criados de forma q ele não precisam ser digitados, porem hj eu quero que eles sejam obrigatorios, como s fosse colocar o not null

Fabio Soares // Itaobim - MG(Interior) // 06/05/2010 09:36:00

Agradeço muito pelas postagens, foram muito esclarecedoras, e os exemplos muito proveitos. Os links de continação também são muito bons. Não tire-os do da net... Na hora das dúvidas são referências como ajuda. Ass: Fabio Soares - Estudade de SI...

sam // lima // 12/07/2010 00:06:00

Amigos

Estou me esforçando pra aprender PHP e acredito que se conseguisse um exemplo prático (tutorial) envolvendo o Insert (inserir) Update (atualizar) delete (apagar) e que o exemplo depois explicasse como exibir o resultado , com registro global OFF

Por exemplo: cadastrar Nome, ID, telefone, cor

Depois, por exemplo, exibir todos os nomes e telefones dos usuários cadastrados com a cor Azul . ( a cada 4 resultado uma outra página com resultado)

Acredito que um exemplo prático assim será útil para todos que estão estudando o PHP

Diego // Tubarao // 12/08/2010 09:45:00

muito bom valeu!!!!!!!!!!!!!!!

juliana // baia // 06/09/2011 15:56:00

consegue diminuir as letra do google

Ahmed // São Luis // 27/09/2012 08:58:00

Parabens pelo Blog!! O Conteudo é excelente!! Sucesso e muito obrigado por compartilhar seu conhecimento.





 

2007-2012   //   Blog do Luis   //   Política de Privacidade   //   Eu creio em Deus