用用SELECT… INTO OUTFILE语句导出语句导出MySQL数据的教程数据的教程
表数据导出到一个文本文件最简单的方法是使用SELECT… INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主
机上。
导出数据的导出数据的SELECT…INTO OUTFILE声明:声明:
这句话的语法结合了常规的SELECT INTO OUTFILE文件名的末尾。默认的输出格式是相同的LOAD DATA,所以下面的语句
导出tutorials_tbl的表制表符分隔的,换行结尾的文件到/tmp/tutorials.txt:
mysql> SELECT * FROM tutorials_tbl
-> INTO OUTFILE '/tmp/tutorials.txt';
也可以更改输出格式,使用选项来指示如何引用和分隔列和记录。 CRLF终止线要导出tutorial_tbl的CSV格式的表格,使用这
样的语句:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt'
-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-> LINES TERMINATED BY '';
SELECT … INTO OUTFILE具有以下属性:
由MySQL服务器直接创建输出文件,这样的文件名应指定您希望在服务器主机上的文件将被写入。没有本地版本的LOAD
DATA LOCAL版本的类似的语句。
必须要有MySQL的FILE权限才能执行的SELECT… INTO语句。
输出文件必须不存在。这可以防止MySQL从会破坏文件可能重要。
应该在服务器主机上或一些方法来检索文件从该主机的登录帐户。否则SELECT… INTO OUTFILE可能是没有价值的。
在Unix下,创造了世界可读的文件和所拥有的MySQL服务器。这意味着虽然就可以读取该文件,但是不能够删除它。
作为原始数据的导出表:作为原始数据的导出表:
使用mysqldump程序复制或备份表和数据库。它可以写表输出的原始数据文件或为一组的INSERT语句重新创建该表中的记
录。
转储一个表,必须指定一个数据文件 – 选项卡上的选项,表示想要的MySQL服务器写入文件所在的目录。
使用mysqldump程序复制或备份表和数据库。它可以写表输出的原始数据文件,或为一组的INSERT语句重新创建该表中的记
录。
转储一个表,必须指定一个数据文件 – 选项卡上的选项,表示想要的MySQL服务器写入文件所在的目录。
$ mysqldump -u root -p --no-create-info \
--tab=/tmp TUTORIALS tutorials_tbl
password ******
在SQL格式导出表的内容或定义:
一个表中的SQL格式导出到一个文件,使用这样的命令:
$ mysqldump -u root -p TUTORIALS tutorials_tbl > dump.txt
password ******
这将创建文件的内容如下:
-- MySQL dump 8.23
--
-- Host: localhost Database: TUTORIALS
---------------------------------------------------------
-- Server version 3.23.58
--
-- Table structure for table `tutorials_tbl`
--
CREATE TABLE tutorials_tbl (
tutorial_id int(11) NOT NULL auto_increment,
tutorial_title varchar(100) NOT NULL default '',
tutorial_author varchar(40) NOT NULL default '',
submission_date date default NULL,
PRIMARY KEY (tutorial_id),
UNIQUE KEY AUTHOR_INDEX (tutorial_author)