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.