MySQL合并数据教你使用MySQL将两个表的数据合并为一个表(mysql 两表数据合并)

MySQL合并数据:教你使用MySQL将两个表的数据合并为一个表。

在实际的数据库应用中,我们常常要将两个表格的数据合并到一起,形成新的表格。这时候,我们可以使用MySQL的合并数据功能来完成这个任务。

MySQL合并数据的语法如下:

“`sql

INSERT INTO 目标表1 (列1, 列2, 列3, …)

SELECT 列1, 列2, 列3, … FROM 源表1

UNION

SELECT 列1, 列2, 列3, … FROM 源表2;


此语法使用了 INSERT INTO SELECT 和 UNION 操作符。我们使用 INSERT INTO SELECT 将源表的数据插入目标表中。然后,我们使用 UNION 操作符将第二个源表中的数据添加到目标表中。

对于我们合并表格的示例,我们将使用两个名为 'customer1' 和 'customer2' 的表格。这两个表格具有以下结构:

customer1 表格:

+—-+——-+————–+——-+

| id | name | eml | phone |

+—-+——-+————–+——-+

| 1 | John | john@abc.com | |

| 2 | David | david@xyz.com| yyy |

+—-+——-+————–+——-+


customer2 表格:

+—-+——–+—————–+——–+

| id | name | eml | phone |

+—-+——–+—————–+——–+

| 3 | Tom | tom@yahoo.com | zzz |

| 4 | Alice | alice@gml.com| kkk |

+—-+——–+—————–+——–+


现在,我们将使用以下代码将这两个表格合并到一个新表格 'customers':

```sql
CREATE TABLE customers (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
eml VARCHAR(100) NOT NULL,
phone VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO customers (name, eml, phone)
SELECT name, eml, phone FROM customer1
UNION
SELECT name, eml, phone FROM customer2;

在这个例子中,我们使用 CREATE TABLE 语句创建了一个名为 ‘customers’ 的新表。该表包含与 ‘customer1’ 和 ‘customer2’ 表格相同的列,并指定了 ‘id’ 列作为主键。

然后,我们使用 INSERT INTO SELECT 和 UNION 操作符从源表格中选择数据,并将其插入到 ‘customers’ 表格中。

最终,’customers’ 表格看起来像这样:

+----+-------+--------------+-------+
| id | name | eml | phone |
+----+-------+--------------+-------+
| 1 | John | john@abc.com | |
| 2 | David | david@xyz.com| yyy |
| 3 | Tom | tom@yahoo.com| zzz |
| 4 | Alice | alice@gml.com| kkk |
+----+-------+--------------+-------+

可以看出,我们成功地将两个表格合并为一个新的表格。这是一个非常常用的数据库技巧,为我们提供了更好的数据管理和处理能力。


数据运维技术 » MySQL合并数据教你使用MySQL将两个表的数据合并为一个表(mysql 两表数据合并)