Pular para o conteúdo principal

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 usar CREATE TABLE ... AS SELECT ... em vez de SELECT 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.