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 | xxx |
| 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 | xxx |
| 2 | David | david@xyz.com| yyy |
| 3 | Tom | tom@yahoo.com| zzz |
| 4 | Alice | alice@gml.com| kkk |
+----+-------+--------------+-------+
可以看出,我们成功地将两个表格合并为一个新的表格。这是一个非常常用的数据库技巧,为我们提供了更好的数据管理和处理能力。