如何将临时MySQL表转储到文件?

5
有没有一种方法可以将临时MySQL表转储/导出/保存到磁盘上的文件中(.sql文件,类似于由mysqldump创建的文件)?请注意保留HTML标记。
1个回答

1

抱歉,第一次没有正确阅读问题...无论如何,我能想到的最好的方法是使用SELECT ... INTO OUTFILE语句,像这样:

SELECT * INTO OUTFILE 'result.csv'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM temp_table;

这确实有很多限制,例如它只转储原始数据而不包括字段标题。我发现的另一件事,可能有用也可能没用,就是SHOW CREATE TABLE语句。如果你能找到一种方法将这两个语句的输出合并起来,你就可以得到一个像下面我的命令所产生的适当的“dump”文件。


你应该能够使用 mysqldump 应用程序:

mysqldump --databases temptable > file.sql

这将使用CREATE语句转储表格。


4
临时表只存在于连接范围内,因此这种方法行不通。 - Alex N.
请注意,SELECT ... INTO OUTFILE 需要向用户授予特定权限。 - Charles
有人能解释一下文件是在哪里创建的吗?它肯定不在我当前工作目录中。 - santiago arizti
这需要管理输出文件中的“插入”语句。显然不回答OP的问题,因为这只是说明如何执行逗号分隔的CSV文件,这与mysql转储不同。 - searchengine27

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接