mysql查询数据并插入
时间: 2024-10-16 18:10:22 浏览: 27
在MySQL中,你可以通过`SELECT`语句查询数据,然后利用`INSERT INTO`语句将查询的结果插入到另一张表中。这里是一个简单的示例:
假设你有一个名为`employees`的表,你想从这个表中选择某些字段的数据(如id、name),然后将这些数据插入到一个新的表`new_employees`中。以下是相应的SQL命令:
```sql
-- 查询数据
SELECT id, name FROM employees;
-- 创建一个临时变量或者临时表来保存查询结果
-- 这里假设你已经创建了一个临时表,如果直接插入可以省略这一步
CREATE TEMPORARY TABLE temp_table AS
SELECT id, name FROM employees;
-- 插入数据到新表
INSERT INTO new_employees (id, name)
SELECT id, name FROM temp_table;
```
如果你不需要先创建临时表,可以直接使用`INTO OUTFILE`或`UNION ALL`结合`LOAD DATA INFILE`来实现:
```sql
-- 直接插入到新表
INSERT INTO new_employees (id, name)
SELECT id, name
FROM employees
LIMIT <数量>; -- 可能需要限制查询行数
-- 或者使用UNION ALL和LOAD DATA INFILE
SELECT id, name INTO OUTFILE '/tmp/data.txt'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM employees
UNION ALL
SELECT * FROM temp_table; -- 如果有临时表
```
注意替换上述SQL命令中的 `<数量>` 和 `/tmp/data.txt` 为你实际的需求。
阅读全文