mysql insert into select from 大量数据_数据库相关知识
时间: 2023-07-28 08:52:39 浏览: 113
解析MySQL中INSERT INTO SELECT的使用
5星 · 资源好评率100%
当需要将大量数据从一个表插入到另一个表时,可以使用 MySQL 的 INSERT INTO SELECT FROM 语句。这个语句可以将一个表中的数据插入到另一个表中,同时可以对数据进行筛选、排序、分组等操作。
例如,我们可以将一个表中所有年龄大于等于 18 岁的人插入到另一个表中:
```sql
INSERT INTO new_table (name, age)
SELECT name, age FROM old_table WHERE age >= 18;
```
这个语句会将 old_table 表中所有年龄大于等于 18 岁的人的姓名和年龄插入到 new_table 表中。当数据量很大时,可以使用 LIMIT 子句限制每次插入的数据量,以避免内存溢出或锁表等问题。例如:
```sql
INSERT INTO new_table (name, age)
SELECT name, age FROM old_table WHERE age >= 18 LIMIT 10000;
```
这个语句每次只会插入 old_table 表中前 10000 条年龄大于等于 18 岁的人的姓名和年龄到 new_table 表中。可以多次执行这个语句,直到将所有符合条件的数据插入到 new_table 表中为止。
阅读全文