首页 >数据库 >mysql教程 >如何将多个 MySQL 表中的数据合并到一个新表中?

如何将多个 MySQL 表中的数据合并到一个新表中?

Susan Sarandon
Susan Sarandon原创
2024-11-23 02:40:11712浏览

How to Combine Data from Multiple MySQL Tables into a New Table?

从 MySQL 中的多个现有表创建新表

要创建一个组合多个现有表中的数据和列的新表,您可以使用JOIN操作。在 MySQL 中,可以通过以下步骤来实现:

  1. 连接表:使用 JOIN 关键字根据公共字段连接表。例如,要根据 person_id 字段连接人员、分类和详细信息表:
SELECT *
FROM people AS p
JOIN details AS d ON p.id = d.person_id
JOIN taxonomy AS t ON d.detail_id = t.id
  1. 选择所需列:指定要添加的列使用 SELECT 语句包含在新表中。例如,如果您想创建一个包含 id、last_name、first_name、email 和age 的新表,您可以将查询修改为:
SELECT p.id, p.last_name, p.first_name, p.email, d.content AS age
FROM people AS p
JOIN details AS d ON p.id = d.person_id
JOIN taxonomy AS t ON d.detail_id = t.id
WHERE t.taxonomy = 'age'
  1. 创建New Table:执行CREATE TABLE语句创建一个包含指定列和数据的新表。例如,要根据先前的查询创建名为 new_table 的新表:
CREATE TABLE new_table AS
SELECT p.id, p.last_name, p.first_name, p.email, d.content AS age
FROM people AS p
JOIN details AS d ON p.id = d.person_id
JOIN taxonomy AS t ON d.detail_id = t.id
WHERE t.taxonomy = 'age'
  1. 或者,插入到现有表:如果您已经创建了new_table,您可以使用 INSERT 语句用连接中的数据填充它tables:
INSERT INTO new_table (id, last_name, first_name, email, age)
SELECT p.id, p.last_name, p.first_name, p.email, d.content AS age
FROM people AS p
JOIN details AS d ON p.id = d.person_id
JOIN taxonomy AS t ON d.detail_id = t.id
WHERE t.taxonomy = 'age'

通过使用这些方法,您可以创建新表,组合 MySQL 中多个现有表的数据和列,提供一种方便高效的方式来组织和访问信息。

以上是如何将多个 MySQL 表中的数据合并到一个新表中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn