MySQL的INSERT INTO SELECT语句用于将一张表中的数据插入到另一张表中。
下面是INSERT INTO SELECT语句的基本语法:
INSERT INTO 目标表 (列1, 列2, 列3, ...)
SELECT 列1, 列2, 列3, ...
FROM 源表
示例: 假设我们有两张表:表1(employees)和表2(new_employees)。我们想将表1中的部分员工数据插入到表2中。
employees表结构:
+----+----------+--------+
| id | name | salary |
+----+----------+--------+
| 1 | John Doe | 5000 |
| 2 | Jane Doe | 6000 |
| 3 | Bob Smith| 5500 |
+----+----------+--------+
new_employees表结构:
+----+----------+--------+
| id | name | salary |
+----+----------+--------+
我们可以使用以下INSERT INTO SELECT语句将employees表中的数据插入到new_employees表中:
INSERT INTO new_employees (id, name, salary)
SELECT id, name, salary
FROM employees
WHERE salary > 5500
以上语句将employees表中salary大于5500的记录插入到new_employees表中,只插入id、name和salary列的数据。
new_employees表将会变为:
+----+----------+--------+
| id | name | salary |
+----+----------+--------+
| 2 | Jane Doe | 6000 |
+----+----------+--------+
注意,INSERT INTO SELECT语句可以根据需要选择要插入的列和行。