在 MYSQL 中使用 UNION ALL 通过单个查询将记录插入两个表中
mysqlmysqli database更新于 2024/2/12 15:38:00
以下是创建第一个表的查询。
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)