Maison >base de données >tutoriel mysql >Insérer les résultats de la sélection MySQL ? Est-il possible?

Insérer les résultats de la sélection MySQL ? Est-il possible?

王林
王林avant
2023-09-11 16:29:071093parcourir

插入 MySQL select 的结果?是否可以?

Pas besoin d'utiliser des valeurs lors de l'insertion des résultats de sélection. Afin d'insérer les résultats de select, nous créons d'abord deux tables.

La première requête de table est la suivante -

< FirstTableDemo>
mysql> create table FirstTableDemo
   &minus;> (
   &minus;> StudentId int,
   &minus;> StudentName varchar(100)
   &minus;> );
Query OK, 0 rows affected (0.41 sec)

Créez maintenant la deuxième table puis utilisez la commande INSERT SELECT pour insérer les enregistrements de la deuxième table dans la première table.

La requête pour créer la deuxième table est la suivante :

<SecondTableDemo>

mysql> create table SecondTableDemo
   &minus;> (
   &minus;> Id int,
   &minus;> Name varchar(100)
   &minus;> );
Query OK, 0 rows affected (0.47 sec)

Utilisez la commande insert pour insérer des enregistrements dans la table. La requête est la suivante −

mysql> insert into SecondTableDemo values(1,&#39;John&#39;);
Query OK, 1 row affected (0.14 sec)

mysql> insert into SecondTableDemo values(2,&#39;Sam&#39;);
Query OK, 1 row affected (0.27 sec)

Maintenant, il y a deux enregistrements dans la deuxième table. La requête pour afficher tous les enregistrements de la table à l'aide de l'instruction select est la suivante : 

mysql> select *from SecondTableDemo;

Ce qui suit est le résultat -

+------+------+
| Id   | Name |
+------+------+
|    1 | John |
|    2 | Sam  |
+------+------+
2 rows in set (0.00 sec)

Utilisez l'instruction INSERT SELECT pour insérer tous les enregistrements de la deuxième table dans la première table-

mysql> insert into FirstTableDemo(StudentId,StudentName)
   &minus;> select Id,Name from SecondTableDemo as tbl1
   &minus;> where tbl1.Id not in (select StudentId from FirstTableDemo);
Query OK, 2 rows affected (0.57 sec)
Records: 2 Duplicates: 0 Warnings: 0

Maintenant, nous avons Tous les enregistrements des deux tables sont insérés dans la première table. Vérifions à l'aide de l'instruction select. La requête ressemble à ceci −

mysql> select *from FirstTableDemo;

Ce qui suit est le résultat −

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | John        |
|         2 | Sam         |
+-----------+-------------+
2 rows in set (0.00 sec)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer