Pular para o conteúdo principal

Declaração INSERT do MySQL

A instrução `INSERT` no MySQL é usada para adicionar novas linhas de dados em uma tabela. É essencial para preencher tabelas com dados iniciais ou anexar novos registros.

Uso

A instrução `INSERT` é usada quando você precisa adicionar novos dados a uma tabela. Você pode inserir uma ou várias linhas de uma vez, especificando os valores de cada coluna.

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

Nessa sintaxe, `INSERT INTO` define a tabela e as colunas de destino, enquanto `VALUES` especifica os dados a serem inseridos. Além disso, a função `INSERT ... A sintaxe SET` pode ser usada para especificar diretamente os pares de valores de coluna:

INSERT INTO table_name SET column1 = value1, column2 = value2;

Exemplos

1. Inserção básica

INSERT INTO products (product_name, price)
VALUES ('Laptop', 999.99);

Este exemplo insere uma única linha na tabela `products` com valores para `product_name` e `price`.

2. Inserção de várias linhas

INSERT INTO employees (first_name, last_name, position)
VALUES 
  ('John', 'Doe', 'Manager'),
  ('Jane', 'Smith', 'Developer');

Essa sintaxe demonstra a inserção de várias linhas na tabela `employees` em uma instrução para maior eficiência.

3. Inserir usando SELECT

INSERT INTO archived_orders (order_id, customer_id, order_date)
SELECT order_id, customer_id, order_date
FROM orders
WHERE order_date < '2022-01-01';

Esse exemplo copia dados da tabela `orders` para `archived_orders` para registros com data de pedido anterior a 2022, o que é útil para tarefas como arquivamento ou migração de dados.

4. Inserção com atualização de chaves ignoradas e duplicadas

INSERT IGNORE INTO users (user_id, username)
VALUES (1, 'johndoe');

Essa instrução tenta inserir uma linha e a ignora se uma chave duplicada for encontrada.

INSERT INTO users (user_id, username)
VALUES (1, 'johndoe')
ON DUPLICATE KEY UPDATE username = 'john_updated';

Este exemplo atualiza o `username` se houver uma chave duplicada.

Dicas e práticas recomendadas

  • Especifique os nomes das colunas. Sempre especifique os nomes das colunas para garantir que os dados sejam inseridos nas colunas corretas, mantendo a clareza e evitando erros.
  • Use as transações. Para inserções em massa ou dados críticos, use transações para garantir a integridade dos dados.
  • Verifique se há duplicatas. Use `INSERT IGNORE` ou `ON DUPLICATE KEY UPDATE` para lidar com possíveis entradas duplicadas de forma elegante.
  • Validar tipos de dados. Verifique se os valores que estão sendo inseridos correspondem aos tipos de dados definidos no esquema da tabela.
  • Indexação adequada. Considere a indexação adequada para melhorar o desempenho, especialmente quando você insere grandes quantidades de dados com frequência.
  • Manipular valores NULL. Tenha em mente os valores NULL e suas implicações durante as operações de inserção, garantindo que as colunas com restrições NOT NULL sejam tratadas adequadamente.