从MySQL中的多个表插入记录

要从多个表中插入记录,请使用INSERT INTO SELECT语句。在这里,我们将插入2个表中的记录。

让我们首先创建一个表-

create table DemoTable1943
   (
   Name varchar(20)
   );

使用插入命令在表中插入一些记录-

insert into DemoTable1943 values('Chris');
insert into DemoTable1943 values('Robert');

使用select语句显示表中的所有记录-

select * from DemoTable1943;

这将产生以下输出-

+--------+
| Name   |
+--------+
| Chris  |
| Robert |
+--------+
2 rows in set (0.00 sec)

这是创建第二个表的查询-

create table DemoTable1944
   (
   Age int
   );

使用插入命令在表中插入一些记录-

insert into DemoTable1944 values(23);
insert into DemoTable1944 values(26);

使用select语句显示表中的所有记录-

select * from DemoTable1944;

这将产生以下输出-

+------+
| Age  |
+------+
|   23 |
|   26 |
+------+
2 rows in set (0.00 sec)

这是创建第三个表的查询-

create table DemoTable1945
   (
   StudentName varchar(20),
   StudentAge int
   );

这是要从多个表插入的查询-

insert into DemoTable1945(StudentName,StudentAge) select tbl1.Name,tbl2.Age from DemoTable1943 tbl1,DemoTable1944 tbl2;
Records: 4  Duplicates: 0  Warnings: 0

使用select语句显示表中的所有记录-

select * from DemoTable1945;

这将产生以下输出-

+-------------+------------+
| StudentName | StudentAge |
+-------------+------------+
| Chris       |         23 |
| Robert      |         23 |
| Chris       |         26 |
| Robert      |         26 |
+-------------+------------+
4 rows in set (0.00 sec)