MySQL管理篇,用SELECT...INTO OUTFILE导出数据
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、查看本地测试数据库中数据库test中的t_user表;
2、执行导出命令
SELECT * FROM t_user INTO OUTFILE 'G:/sqlbak/t_user.txt';
报错了,--secure-file-priv限制了导入与导出的目录权限
3、查看当前的secure-file-priv
show variables like '%secure%';
发现secure_file_priv路径为NULL
4、修改mysql.ini中,添加一句
secure-file-priv = G:/sqlbak/
注意不是下划线
5、重启MySQL,然后再次查看当前的secure-file-priv
show variables like '%secure%';
6、执行导出命令
SELECT * FROM t_user INTO OUTFILE 'G:/sqlbak/t_user.txt';
执行成功
7、查看文件夹,可以看到多了一个t_user文件
8、查看导出文件内容
1、执行导出命令
SELECT * FROM t_user INTO OUTFILE 'G:/sqlbak/t_user_2.txt'
FIELDS
TERMINATED BY ','
ENCLOSED BY '\"'
ESCAPED BY '\''
LINES
TERMINATED BY '\r\n';
执行成功
2、查看文件夹,可以看到多了一个t_user_2文件
3、查看导出文件内容