插入 MySQL select 的结果?是否可以?
短信预约 -IT技能 免费直播动态提醒
每当插入选择结果时,都不需要使用值。为了插入 select 的结果,我们首先创建两个表。
第一个表查询如下 -
< FirstTableDemo>
mysql> create table FirstTableDemo
−> (
−> StudentId int,
−> StudentName varchar(100)
−> );
Query OK, 0 rows affected (0.41 sec)
现在创建第二个表,然后使用INSERT SELECT命令将第二个表的记录插入到第一个表中。
创建第二个表的查询如下:
<SecondTableDemo>
mysql> create table SecondTableDemo
−> (
−> Id int,
−> Name varchar(100)
−> );
Query OK, 0 rows affected (0.47 sec)
使用插入命令在表中插入记录。查询如下 −
mysql> insert into SecondTableDemo values(1,'John');
Query OK, 1 row affected (0.14 sec)
mysql> insert into SecondTableDemo values(2,'Sam');
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)
−> select Id,Name from SecondTableDemo as tbl1
−> 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)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341