如何合并两个 MySQL 表?


要合并两个 MySQL 表,请使用以下语法 −

INSERT IGNORE INTO yourTableName1 select *from yourTableName2;

我们将创建两个带有某些记录的表。然后将开始使用上述语法进行合并过程。

创建第一个表 −

mysql> create table MergeDemo1
   -> (
   -> id int,
   -> primary key(id),
   -> Name varchar(200)
   -> );
Query OK, 0 rows affected (1.00 sec)

向表中插入记录 −

mysql> insert into MergeDemo1 values(1,'John');
Query OK, 1 row affected (0.21 sec)

在表中显示记录

mysql> select *from MergeDemo1;

以下是第一个表的输出 −

+----+------+
| id | Name |
+----+------+
| 1  | John |
+----+------+
1 row in set (0.00 sec)

现在让我们创建第二个表 −

mysql> create table MergeDemo2
   -> (
   -> id int,
   -> primary key(id),
   -> Name varchar(200)
   -> );
Query OK, 0 rows affected (0.51 sec)

在第二个表中插入记录 −

mysql> insert into MergeDemo2 values(2,'David');
Query OK, 1 row affected (0.18 sec)

从第二个表中显示所有记录 −

mysql> select *from MergeDemo2;

以下是第二个表的输出 −

+----+-------+
| id | Name  |
+----+-------+
| 2  | David |
+----+-------+
1 row in set (0.00 sec)

以下是合并两个表的查询。

mysql> INSERT IGNORE
-> INTO MergeDemo1 select *from MergeDemo2;
Query OK, 1 row affected (0.19 sec)
Records: 1 Duplicates: 0 Warnings: 0

现在让我们借助 select 语句检查第二个表的数据是否已合并。查询如下 −

mysql> select *from MergeDemo1;

以下是显示已合并表的输出 −

+----+-------+
| id | Name  |
+----+-------+
| 1  | John  |
| 2  | David |
+----+-------+
2 rows in set (0.00 sec)

更新于: 30-Jul-2019

4K+ 浏览量

开始您的 职业生涯

完成课程即可获得认证

开始
广告
© . All rights reserved.