导出表数据到一个文本文件的最容易方式是采用SELECT...INTOOUTFILE语句可以直接将导出查询结果导出到服务器主机上的文件。
采用SELECT...INTOOUTFILE语句导出数据
语句的语法结合了常规的SELECTINTO与OUTFILEfilename末尾。默认的导出文件格式与LOADDATA是一样的,因此 接下来的语句导出tutorials_tbl表到C:\tutorials.txt并采用制表符分隔,换行结尾的文件:
可以利用选项来说明如何引号和分隔列,更改记录输出格式。 使用CRLF为结束行导出tutorial_tbl 为CSV格式表格,使用以下语句:
SELECT... INTO OUTFILE具有以下属性:
输出的文件是直接由MySQL服务器创建的,因此,文件名应指明想要的文件名,它会被写到服务器主机上。还有就是语句类似于没有LOCAL版本的LOAD DATA的本地版本。
必须有MySQL的FILE权限来执行SELECT ... INTO语句。
输出文件必须还不存在。 这防止MySQL弄错文件很重要。
应该有服务器主机或某种方式来检索该主机上登录帐户的文件。否则,SELECT ... INTO OUTFILE可能没有任何值给出。
在UNIX下,文件创建所有人都是可读的,由MySQL服务器所拥有。这意味着,虽然能够读取该文件,可能无法将其删除
导出表作为原始数据
mysqldump程序用于复制或备份表和数据库。它可以写入表输出作为一个原始数据文件,或为一组重新创建表中的INSERT语句的记录。
转储一个表作为一个数据文件,必须指定一个--tab 选项指定目录,让MySQL服务器写入文件。
例如,从数据库test中的tutorials_tbl表转储到一个文件在C:\tmp目录,可使用这样的命令:
我来说两句