将MySQL视图转储为包含数据的表

时间:2009-02-12 13:50:56

标签: mysql view export

假设我的数据库中有一个视图,我想将某个文件发送给某人,以便将该视图的输出创建为数据库中的表格。

mysqldump当然只导出'create view ...'语句(好吧,好吧,它包含了create table,但没有数据)。

我所做的只是将视图复制为真实表并转储它。但是对于一张大桌来说,这是缓慢而浪费的:

create table tmptable select * from myview

如果没有创建模仿mysqldump行为的脚本并且这样做,那还有更好的方法吗?

2 个答案:

答案 0 :(得分:4)

一种选择是对CSV文件进行查询并导入。要选择CSV文件:

来自http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/

SELECT order_id,product_name,qty
FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

答案 1 :(得分:3)

好的,基于您的CSV失败评论,请从Paul的回答开始。对其进行以下更改:

 - FIELDS TERMINATED BY ','
 + FIELDS TERMINATED BY ',' ESCAPED BY '\'

完成后,在导入端,您将执行“加载数据infile”并使用相同的终止/封闭/转义语句。