Accéder au contenu principal
Documents
FonctionsExpressionsKeywordsDéclarationsClauses

Mot-clé MySQL INTO

Le mot-clé INTO dans MySQL est utilisé pour spécifier la destination des données insérées ou sélectionnées. Il apparaît généralement dans les instructions INSERT INTO pour ajouter des données aux tableaux et dans les instructions SELECT ... INTO pour stocker des données dans des variables.

Utilisation

Le mot-clé INTO est employé lorsque vous souhaitez diriger des données vers un tableau ou une variable. Dans une instruction INSERT, il aide à spécifier le tableau cible, tandis que dans une instruction SELECT ... INTO, il définit la destination des données sélectionnées, généralement dans des variables.

Syntax

INSERT INTO

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

Ici, INTO table_name indique le tableau dans lequel les nouvelles données seront ajoutées.

SELECT INTO Variables

SELECT column1, column2, ...
INTO @variable1, @variable2, ...
FROM existing_table
[WHERE condition];

Cette syntaxe enregistre les résultats de la requête dans des variables définies par l'utilisateur.

Création d'un nouveau tableau à partir d'une requête SELECT

CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM existing_table
[WHERE condition];

Cette syntaxe crée un nouveau tableau new_table contenant des données sélectionnées dans existing_table.

Exemples

1. Insertion de base

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

Cet exemple insère une nouvelle ligne dans le tableau products avec les valeurs spécifiées pour product_name et price.

2. Stockage du résultat de la requête dans des variables

SELECT COUNT(*) INTO @total_customers
FROM customers
WHERE country = 'USA';

Dans cet exemple, le résultat de la requête de comptage est stocké dans une variable définie par l'utilisateur @total_customers.

3. Création d'un nouveau tableau à partir d'une requête SELECT

CREATE TABLE recent_orders AS
SELECT customer_id, order_date
FROM orders
WHERE order_date > '2023-01-01';

Cette syntaxe crée un nouveau tableau recent_orders contenant des données sélectionnées sur orders dont la date de commande est postérieure au 1er janvier 2023.

Conseils et bonnes pratiques

  • Assurez-vous de l'existence du tableau. Lorsque vous utilisez INSERT INTO, assurez-vous que le tableau cible existe déjà.
  • Utilisez CREATE TABLE ... AS SELECT ... pour les nouveaux tableaux. Pour créer un nouveau tableau à partir d'une requête select, préférez utiliser CREATE TABLE ... AS SELECT ... au lieu de SELECT INTO.
  • Vérifiez les types de données. Pour éviter les erreurs, faites correspondre les types de données des valeurs avec les définitions des colonnes dans INSERT INTO.
  • Utilisez des variables pour des requêtes complexes. Utilisez SELECT ... INTO avec des variables pour stocker les résultats de requêtes complexes en vue d'une utilisation ultérieure.
  • Gérer les erreurs et les exceptions. Mettez en œuvre un traitement des erreurs pour gérer les exceptions lors des opérations d'insertion ou de sélection des données.

Note : MySQL diffère d'autres dialectes SQL tels que SQL Server, où SELECT INTO est utilisé pour créer de nouveaux tableaux. Dans MySQL, utilisez CREATE TABLE ... AS SELECT ... à cette fin.

Amélioration de SQL pour les débutants

Acquérir les compétences SQL pour interagir avec vos données et les interroger.
Commencez à apprendre gratuitement