假设我的数据库中有一个视图,我想将某个文件发送给某人,以便将该视图的输出创建为数据库中的表格。
mysqldump当然只导出'create view ...'语句(好吧,好吧,它包含了create table,但没有数据)。
我所做的只是将视图复制为真实表并转储它。但是对于一张大桌来说,这是缓慢而浪费的:
create table tmptable select * from myview
如果没有创建模仿mysqldump行为的脚本并且这样做,那还有更好的方法吗?
答案 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”并使用相同的终止/封闭/转义语句。