每当插入选择结果时,都不需要使用值。为了插入 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)
以上就是插入 mysql select 的结果?是否可以?的详细内容。