首页 >数据库 >mysql教程 >插入 MySQL select 的结果?是否可以?

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

王林
王林转载
2023-09-11 16:29:071093浏览

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

每当插入选择结果时,都不需要使用值。为了插入 select 的结果,我们首先创建两个表。

第一个表查询如下 -

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

现在创建第二个表,然后使用INSERT SELECT命令将第二个表的记录插入到第一个表中。

创建第二个表的查询如下:

<SecondTableDemo>

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

使用插入命令在表中插入记录。查询如下 −

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)

现在第二个表中有两条记录。使用 select 语句显示表中所有记录的查询如下 -

mysql> select *from SecondTableDemo;

以下是输出 −

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

使用INSERT SELECT语句将第二个表的所有记录插入到第一个表中 −

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

现在我们已经将第二个表的所有记录插入到第一个表中。让我们使用select语句进行交叉检查。查询如下所示 −

mysql> select *from FirstTableDemo;

以下是输出 −

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

以上是插入 MySQL select 的结果?是否可以?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除