从 MySQL 中的多张表插入记录
要从多张表插入记录,请使用 INSERT INTO SELECT 语句。在此处,我们将从 2 张表中插入记录。
我们先创建一个表 −
mysql> create table DemoTable1943 ( Name varchar(20) ); Query OK, 0 rows affected (0.00 sec)
使用 insert 命令向表中插入一些记录 −
mysql> insert into DemoTable1943 values('Chris'); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1943 values('Robert'); Query OK, 1 row affected (0.00 sec)
使用 select 语句显示表中的所有记录 −
mysql> select * from DemoTable1943;
这将生成以下输出 −
+--------+ | Name | +--------+ | Chris | | Robert | +--------+ 2 rows in set (0.00 sec)
以下是创建第二个表的查询 −
mysql> create table DemoTable1944 ( Age int ); Query OK, 0 rows affected (0.00 sec)
使用 insert 命令向表中插入一些记录 −
mysql> insert into DemoTable1944 values(23); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1944 values(26); Query OK, 1 row affected (0.00 sec)
使用 select 语句显示表中的所有记录 −
mysql> select * from DemoTable1944;
这将生成以下输出 −
+------+ | Age | +------+ | 23 | | 26 | +------+ 2 rows in set (0.00 sec)
以下是创建第三个表的查询 −
mysql> create table DemoTable1945 ( StudentName varchar(20), StudentAge int ); Query OK, 0 rows affected (0.00 sec)
以下是从多张表插入数据的查询 −
mysql> insert into DemoTable1945(StudentName,StudentAge) select tbl1.Name,tbl2.Age from DemoTable1943 tbl1,DemoTable1944 tbl2; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0
使用 select 语句显示表中的所有记录 −
mysql> select * from DemoTable1945;
这将生成以下输出 −
+-------------+------------+ | StudentName | StudentAge | +-------------+------------+ | Chris | 23 | | Robert | 23 | | Chris | 26 | | Robert | 26 | +-------------+------------+ 4 rows in set (0.00 sec)
广告