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.
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
SELECTCOUNT(*)INTO @total_customers
FROM customers
WHERE country ='USA';Tecnologia
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
CREATETABLE recent_orders ASSELECT customer_id, order_date
FROM orders
WHERE order_date >'2023-01-01';Tecnologia
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.
A palavra-chave
INTOno MySQL é usada para especificar o destino dos dados que estão sendo inseridos ou selecionados. Geralmente aparece nos comandosINSERT INTOpara adicionar dados a tabelas e nos comandosSELECT ... INTOpara armazenar dados em variáveis.Uso
A palavra-chave
INTOé usada quando você deseja direcionar dados para uma tabela ou variável. Em um comandoINSERT, ele ajuda a especificar a tabela de destino, enquanto em um comandoSELECT ... INTO, ele define o destino dos dados selecionados, normalmente em variáveis.Sintaxe
INSERT INTO
Aqui,
INTO table_nameindica a tabela em que os novos dados serão adicionados.SELECT INTO Variáveis
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
Essa sintaxe cria uma nova tabela
new_tablecontendo dados selecionados deexisting_table.Exemplos
1. Inserção básica
Este exemplo insere uma nova linha na tabela
productscom valores especificados paraproduct_nameeprice.2. Armazenamento do resultado da consulta em variáveis
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
Essa sintaxe cria uma nova tabela
recent_orderscontendo dados selecionados deordersem que a data do pedido é posterior a 1º de janeiro de 2023.Dicas e práticas recomendadas
INSERT INTO, certifique-se de que a tabela de destino já exista.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.INSERT INTOpara evitar erros.SELECT ... INTOcom variáveis para armazenar resultados de consultas complexas para uso posterior.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, useCREATE TABLE ... AS SELECT ...para essa finalidade.