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?

王林
Libérer: 2023-09-11 16:29:07
avant
1096 Les gens l'ont consulté

插入 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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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;
Copier après la connexion

Ce qui suit est le résultat -

+------+------+
| Id   | Name |
+------+------+
|    1 | John |
|    2 | Sam  |
+------+------+
2 rows in set (0.00 sec)
Copier après la connexion

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
Copier après la connexion

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;
Copier après la connexion

Ce qui suit est le résultat −

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | John        |
|         2 | Sam         |
+-----------+-------------+
2 rows in set (0.00 sec)
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal