使用 UNION ALL 在 MYSQL 中使用单一查询在两张表中插入记录
以下是创建第一张表的查询。
mysql> create table DemoTable1 -> ( -> StudentName varchar(20), -> StudentMarks int -> ); Query OK, 0 rows affected (0.67 sec)
为了理解以上概念,我们创建一个第二张表。
mysql> create table DemoTable2 -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.61 sec)
使用 insert 命令在表中插入一些记录 -
mysql> insert into DemoTable2 values('Chris'); Query OK, 1 row affected (0.12 sec)
使用 select 语句从表中显示所有记录 -
mysql> select * from DemoTable2;
将生成以下输出 -
+-------+ | Name | +-------+ | Chris | +-------+ 1 row in set (0.00 sec)
以下是使用单一 MySQL 查询选择和插入记录的查询 -
mysql> insert into DemoTable1 -> select Name,89 from DemoTable2 -> union all -> select Name,98 from DemoTable2; Query OK, 2 rows affected (0.15 sec) Records: 2 Duplicates: 0 Warnings: 0
现在你可以从第一张表中选择记录 -
mysql> select * from DemoTable1;
将生成以下输出 -
+-------------+--------------+ | StudentName | StudentMarks | +-------------+--------------+ | Chris | 89 | | Chris | 98 | +-------------+--------------+ 2 rows in set (0.00 sec)
广告