【问题标题】:How to dump temporary MySQL table into a file?如何将临时 MySQL 表转储到文件中?
【发布时间】:2011-02-12 05:32:28
【问题描述】:

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

【问题讨论】:

    标签: mysql mysqldump temp-tables


    【解决方案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 声明。如果你能找到某种方法来组合这两个语句的输出,你可能会得到一个正确的“转储”文件,就像我下面的命令生成的那样。


    您应该可以使用mysqldump 应用程序:

    mysqldump --databases temptable > file.sql
    

    这将以CREATE 减速转储表格。

    【讨论】:

    • 临时表只存在于连接范围内,所以这行不通。
    • 请注意 SELECT ... INTO OUTFILE 需要授予用户特定权限。
    • 有人能解释一下文件是在哪里创建的吗?它肯定不在我所在的当前工作目录中
    • 这需要管理输出文件中的'insert'语句。显然没有回答 OP 的问题,因为这仅说明如何执行逗号分隔的 CSV 文件,这与 mysql 转储不同。
    猜你喜欢
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多