每当插入选择结果时,都不需要使用值。为了插入 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)原文来自:www.php.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容