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 utiliserCREATE TABLE ... AS SELECT ...
au lieu deSELECT 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.