MySQL管理中,有时候需要把数据库中的数据导出到外部存储文件中,MySQL中的数据可以导出SQL文本文件,XML,HTML等文件格式,同样这些导出也是可以导入到MySQL中,本文给大家介绍使用SELECT...INTO OUTFILE导出文本文件
工具/原料
电脑
MySQL
Navicat等数据库管理软件
语句格式及释义
1、语句格式:SELECT columns FROM table WHERE conditions INTO OUTFILE 'filename' [option];
2、释义:1.columns:要查询的列,*为查询全部2.table:要查询的表3.condition:查询条件4.filename:外部文件名称5.option:可选参数项,包含以下几项
3、option:可选参数项,包含以下几项FIELDS TERMINATED BY 'val':设置字段间的分割字符,默认'\t';FIELDS [OPTIONALLY]ENCLOSED BY 'val': 设置字段包围字符,如果使用了OPTIONALLY则只能使用CHAR或VARCHAR格式字符FIELDS ESCAPED BY 'val':转义字符,默认为'\'LINES STARTING BY 'val':每行的开头字符,默认不使用任何字符LINES TERMINATED BY 'val':每行的结尾字符,默认为'\n'注意:FIELDS字句必须在LINES字句之前
示例1.不带可选参数
1、查看本地测试数据库中数据库test中的t_user表;
2、执行导出命令SELECT * FROM t_user INTO OUTFILE 'G:/sqlbak/t_user.txt';报错了,--secure-file-priv限制了导入与导出的目录权限
3、查看当前的secure-file-privshow variables like '%secure%';发现secure_file_priv路径为NULL
4、修改mysql.ini中,添加一句secure-file-priv = G:/sqlbak/注意不是下划线
5、重启MySQL,然后再次查看当前的secure-file-privshow variables like '%secure%';
6、执行导出命令SELECT * FROM t_user INTO OUTFILE 'G:/sqlbak/t_user.txt';执行成功
7、查看文件夹,可以看到多了一个t_user文件
8、查看导出文件内容
示例2:带可选参数导出
1、执行导出命令SELECT * FROM t_user INTO OUTFILE 'G:/sqlbak/t_user_2.txt'FIELDSTERMINATED BY ','ENCLOSED BY '\"'ESCAPED BY '\''LINESTERMINATED BY '\r\n';执行成功
2、查看文件夹,可以看到多了一个t_user_2文件
3、查看导出文件内容