如何合并两个 MySQL 表?

mysqlmysqli database

要合并两个 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 impacted (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)

相关文章