O comando INSERT INTO

O comando INSERT INTO é usado para inserir uma nova linha em uma tabela.

A sintaxe do INSERT INTO

É possível escrever o comando INSERT INTO de duas formas:

A primeira não especifica os nomes de colunas onde os dados serão inseridos. Somente os valores:
   1:INSERT INTO nome_tabela
2:VALUES (valor1, valor2, valor3,...)
A segunda forma especifica tanto as colunas como os valores a serem inseridos:
   1:INSERT INTO nome_tabela (coluna1, coluna2, coluna3,...)
2:VALUES (valor1, valor2, valor3,...)
Exemplo de INSERT INTO

Nós temos a seguinte tabela de Pessoas:

idsobrenome
primeiro_nomeendereco
cidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger

Agora nós queremos inserir uma linha na tabela Pessoas:
Vamos usar o seguinte comando:
   1:INSERT INTO Pessoas
2:VALUES (4,'Nilsen', 'Johan', 'Bakken 2', 'Stavanger')
A tabela Pessoas ficará assim:

id
sobrenome
primeiro_nome
endereco
cidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenJohanBakken 2Stavanger

Inserir dados somente nas colunas especificadas

Também é possível adicionar dados somente nas colunas especificadas:

O comando SQL a seguir irá adicionar uma nova linha com somente as colunas id, sobrenome e nome preenchidas:
   1:INSERT INTO Pessoas (id, sobrenome, primeiro_nome)
2:VALUES (5, 'Tjessem', 'Jakob')
A tabela Pessoas ficara da seguinte forma:

id
sobrenomeprimeiro_nome
enderecocidade
1HansenOlaTimoteivn 10Sandnes
2SvendsonToveBorgvn 23Sandnes
3PettersenKariStorgt 20Stavanger
4NilsenJohanBakken 2Stavanger
5TjessemJakob  

Fonte

9 comentários:

  1. e se no lugar de strings fixas eu tiver variáveis exemplo $firstName?

    ResponderExcluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Zenker, sem problemas. Você usaria alguma coisa assim:
    $insert = "INSERT INTO Pessoas (sobrenome, primeiro_nome) VALUES ('$lastName', '$firstName')";

    Observe que foram usadas aspas duplas. Elas permitem que o valor das variáveis seja substituido no valor da string.

    ResponderExcluir
  4. Tenho uma tabela com

    ID NOME COMENTARIO
    1 xxx [ vazio ]
    2 xxx [ vazio ]

    Como fazer um insert into id(2) campo [comentario] ??

    tentei de varias formas where id='$id' não roda... entende o problema?


    Inserir no campo comentario um texto , é um sistema de comentario por pagina...

    ResponderExcluir
  5. Seria como um update set comentario=$comentario

    porem o update ele retira o que ta na tabela ,e poe o novo , eu precisaria de um insert into , no lugar do update...entendeu??

    ResponderExcluir
  6. Bom. A idéia do insert into seria:
    $insert = "inser into Nome_da_tabela(ID, NOME, COMENTARIO) values ($id, '$nome', '$comentario')". Isto considerando que você esta gerando o ID e nao usando usando uma coisa tipo auto_increment para gerar (caso em que você não passaria o id nem na lista de colunas nem na de valores.

    Entendeu?

    ResponderExcluir
  7. puts q massa suas explicações meu site vai ficar top...... vlwwwwwww depois de pronto

    posso add seu banner:

    contato@sandersites.com.br

    ResponderExcluir
  8. colegar estou um pequeno sistema estou com dificuldades quando manda os dados para banco dados mais não insert

    ResponderExcluir
    Respostas
    1. Você precisa ver se nao tem uma mensagem de erro no retorno.

      Excluir