📅  最后修改于: 2023-12-03 14:49:22.642000             🧑  作者: Mango
有时候,我们需要从一个表中导入数据到另一个表中,这个操作可以使得我们的工作更加高效。在 MySQL 中,我们可以使用 INSERT INTO SELECT
语句来将数据从一个表插入到另一个表中。
下面的 SQL 语句演示了如何从另一个表复制数据并插入到目标表中:
INSERT INTO 目标表名 (列1, 列2, 列3, ...)
SELECT 列1,列2,列3,...
FROM 源表名
WHERE 过滤条件
其中:
目标表名
为我们要插入数据的表。列1, 列2, 列3, ...
是我们要插入数据的列。源表名
表示我们要从哪个表中复制数据。列1, 列2, 列3, ...
是我们从源表中要复制的列。WHERE
从源表中选取要复制的行的条件。如果不需要过滤,则可以省略。假设我们有两个表,一个是 users
,另一个是 new_users
。users
表包含了所有的用户,而 new_users
表只包含了最近新注册的用户。我们需要将 new_users
表中的数据,插入到 users
表中。
下面的 SQL 示例演示了如何从 new_users
表中复制数据并插入到 users
表中:
INSERT INTO users (name, email, age)
SELECT name, email, age
FROM new_users
这个 SQL 语句将会将 new_users
表中的 name
, email
, age
等三列数据获取到并插入到 users
表中。
INSERT INTO SELECT
语句之前,目标表必须已经存在。AS
关键字来指定映射关系。