代码之家  ›  专栏  ›  技术社区  ›  Alex N.

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

  •  5
  • Alex N.  · 技术社区  · 16 年前

    有没有办法创建一个转储/导出/保存一个临时的mysql表到磁盘上的文件(.sql文件,类似于mysql dump创建的文件)?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Mike    16 年前

    对不起,我第一次没把问题看清楚…无论如何,我能想到的最好的办法就是 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 减速。