MySQL INTO Keyword
A palavra-chave INTO
no MySQL é usada para especificar o destino dos dados que estão sendo inseridos ou selecionados. Geralmente aparece nos comandos INSERT INTO
para adicionar dados a tabelas e nos comandos SELECT ... INTO
para armazenar dados em variáveis.
Uso
A palavra-chave INTO
é usada quando você deseja direcionar dados para uma tabela ou variável. Em um comando INSERT
, ele ajuda a especificar a tabela de destino, enquanto em um comando SELECT ... INTO
, ele define o destino dos dados selecionados, normalmente em variáveis.
Sintaxe
INSERT INTO
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
Aqui, INTO table_name
indica a tabela em que os novos dados serão adicionados.
SELECT INTO Variáveis
SELECT column1, column2, ...
INTO @variable1, @variable2, ...
FROM existing_table
[WHERE condition];
Essa sintaxe armazena os resultados da consulta em variáveis definidas pelo usuário.
Criação de uma nova tabela a partir de uma consulta SELECT
CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM existing_table
[WHERE condition];
Essa sintaxe cria uma nova tabela new_table
contendo dados selecionados de existing_table
.
Exemplos
1. Inserção básica
INSERT INTO products (product_name, price)
VALUES ('Laptop', 999.99);
Este exemplo insere uma nova linha na tabela products
com valores especificados para product_name
e price
.
2. Armazenamento do resultado da consulta em variáveis
SELECT COUNT(*) INTO @total_customers
FROM customers
WHERE country = 'USA';
Neste exemplo, o resultado da consulta de contagem é armazenado em uma variável definida pelo usuário @total_customers
.
3. Criação de uma nova tabela a partir de uma consulta SELECT
CREATE TABLE recent_orders AS
SELECT customer_id, order_date
FROM orders
WHERE order_date > '2023-01-01';
Essa sintaxe cria uma nova tabela recent_orders
contendo dados selecionados de orders
em que a data do pedido é posterior a 1º de janeiro de 2023.
Dicas e práticas recomendadas
- Garantir a existência da tabela. Ao usar
INSERT INTO
, certifique-se de que a tabela de destino já exista. - Use
CREATE TABLE ... AS SELECT ...
para novas tabelas. Para criar uma nova tabela a partir de uma consulta de seleção, prefira usarCREATE TABLE ... AS SELECT ...
em vez deSELECT INTO
. - Verifique os tipos de dados. Faça a correspondência entre os tipos de dados dos valores e as definições de coluna em
INSERT INTO
para evitar erros. - Utilize variáveis para consultas complexas. Use
SELECT ... INTO
com variáveis para armazenar resultados de consultas complexas para uso posterior. - Lidar com erros e exceções. Implemente o tratamento de erros para gerenciar exceções durante as operações de inserção ou seleção de dados.
Observação: O MySQL é diferente de outros dialetos SQL, como o SQL Server, em que o SELECT INTO
é usado para criar novas tabelas. No MySQL, use CREATE TABLE ... AS SELECT ...
para essa finalidade.