A instrução INSERT

A instrução INSERT no SQL é utilizada para adicionar novos registros (linhas) a uma tabela de base de dados relacional. Ela faz parte do subconjunto DML (Data Manipulation Language) do SQL.

Sintaxe

INSERT INTO nome_tabela (coluna1, coluna2, ..., colunaN)
VALUES (valor1, valor2, ..., valorN);
  • nome_tabela: Nome da tabela onde os dados serão inseridos.
  • (coluna1, coluna2, …): Lista opcional dos nomes das colunas que irão receber os valores.
  • (valor1, valor2, …): Valores correspondentes às colunas especificadas

Se omitir a lista de colunas, deve fornecer valores para todas as colunas da tabela, na ordem em que foram definidas.

Exemplos

Insere dois registos na tabela ‘empregados’:

INSERT INTO EMPREGADOS (NOME,IDADE,ENDERECO,SALARIO)
VALUES ('Carlos', 32, 'Oeiras', 2000.00 );

INSERT INTO EMPREGADOS (NOME,IDADE,ENDERECO,SALARIO)
VALUES ('Maria', 27, 'Almada', 2400.00 );

Insere 3 registos na tabela ‘empregados’ com uma só instrução:

INSERT INTO EMPREGADOS (NOME, IDADE, ENDERECO, SALARIO)
VALUES ('Ricardo', 31, 'Lisboa', 1930.00), ('Joana', 24, 'Cascais', 1900.00), ('Pedro', 30, 'Montijo', 3200.00)

Insere um registo na tabela ‘clientes’ sem especificar os nomes dos campos:

INSERT INTO CLIENTES VALUES (13, 'Manuel', 'Loures', '987654321')

NOTA: a tabela ‘clientes’ do exemplo acima tem os campos id, nome, morada, telefone.

Regras importantes

  • Os valores devem estar na mesma ordem das colunas especificadas.
  • Campos obrigatórios (NOT NULL) devem ser preenchidos.
  • Se a coluna for auto incrementada (como um ID), normalmente não é necessário (nem permitido) informar seu valor.