MySQL导出数据select into outfile用法

本文转载自:https://blog.csdn.net/caoxiaohong1005/article/details/72571798


1、select  into  outfield  功能:

导出数据到pc的指定目录下。


2、语法:

SELECT ... INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        [export_options]

export_options:
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string']
        [[OPTIONALLY] ENCLOSED BY 'char']
        [ESCAPED BY 'char']
    ]
    [LINES
        [STARTING BY 'string']
        [TERMINATED BY 'string']
    ]

语法例子:

SELECT customer_id, firstname, surname INTO OUTFILE '/exportdata/customers.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM customers;


3、实际操作例子:Mac环境下

建表:

create table testLoadData(
 id bigint(20) not null auto_increment,
 username char(10) not null,
 age tinyint(3) UNSIGNED not null,
 description  text not null,
 primary key(id),
 unique key(username)
)engine=myisam default charset=utf8;

导入数据:

LOAD DATA local INFILE '/Users/xxx/Downloads/loaddata.txt' IGNORE INTO TABLE testLoadData 
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' ignore 1 lines (username, age, description);

说明:xxx为本机用户名

查询导入数据:

select * from testLoadData




导出数据:

SELECT  * FROM testLoadData 
INTO OUTFILE '/Users/xxx/Downloads/loaddatass.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'

查看对应目录下:可以发现上述数据已经存入到loaddatass.txt内。

4、遇到问题:

(1)


解决办法:修改对应目录下文件的写权限:

终端下输入:


(2)


出现错误原因:sql脚本中的路径下的文件已经存在。实际上sql脚本下的文件应该为MySQL自己去创建的一个文件,而不是去写一个已经存在的文件,所以重新写一个在该目录下没有的文件名即可。

发布了37 篇原创文章 · 获赞 47 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/u013378642/article/details/81262601