Dans une base de données, l'instruction INSERT INTO SELECT est utilisée pour insérer les résultats d'une requête dans une autre table. L'instruction INSERT INTO SELECT peut facilement copier le contenu d'une table vers une autre table ou créer une nouvelle table basée sur les résultats de la requête.
La syntaxe de INSERT INTO SELECT est la suivante :
INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition;
Cette instruction signifie insérer les valeurs de la colonne 1, de la colonne 2, de la colonne 3 et des autres colonnes de lignes qui remplissent une certaine condition dans le tableau 1 dans les colonnes correspondantes dans le tableau2.
Ce qui suit est un exemple pratique pour illustrer l'utilisation de INSERT INTO SELECT.
Supposons que nous ayons deux tables : étudiants et new_students. Le tableau des étudiants contient les colonnes suivantes : identifiant, nom, âge, score. Nous souhaitons insérer les étudiants âgés de 18 ans ou plus dans la table étudiants dans la table new_students.
Tout d'abord, nous créons la table des étudiants et insérons quelques exemples de données :
CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT ); INSERT INTO students (name, age, score) VALUES ('John', 16, 90), ('Alice', 20, 95), ('Tom', 18, 85), ('Emily', 17, 88);
Ensuite, nous créons la table new_students :
CREATE TABLE new_students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT );
Enfin, nous utilisons l'instruction INSERT INTO SELECT pour insérer les étudiants de 18 ans ou plus dans la liste des étudiants. table into new_students Dans le tableau :
INSERT INTO new_students (name, age, score) SELECT name, age, score FROM students WHERE age >= 18;
De cette façon, la table new_students contient les informations des étudiants âgés de 18 ans ou plus dans la table des étudiants.
En plus d'insérer directement les résultats de la requête dans une autre table, l'instruction INSERT INTO SELECT peut également être utilisée pour créer une nouvelle table contenant uniquement les résultats de la requête :
CREATE TABLE new_table AS SELECT column1, column2, ... FROM table WHERE condition;
De cette façon, new_table sera créée et contiendra les résultats de la requête.
Résumé
L'instruction INSERT INTO SELECT sélectionne certaines lignes dans une table (ou résultat de la requête) et les insère dans une autre table (ou crée une nouvelle table). Cette fonction est très puissante et permet de copier, filtrer et créer facilement de nouveaux tableaux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!