SELECT
TRIM(reality_name),
TRIM(id_number)
FROM
t_user_info
WHERE
reality_name IS NOT NULL
AND reality_name <> ""
AND id_number IS NOT NULL
AND id_number <> ""
INTO OUTFILE 'd:/xyd/xydCheck.txt' FIELDS TERMINATED BY '|-|' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n';
- OUTFILE 后面跟输出的文件路径。注意:路径必须已存在,否则会找不到。
- FIELDS TERMINATED BY '|-|' 表示查询出来的字段内容按'|-|'字符分隔开。
- OPTIONALLY ENCLOSED BY ''表示字符类型用' '字符来包裹。
- LINES TERMINATED BY '\n';表示查询出来的一行数据以\n结尾拼接。
导出报1290错:the mysql server is running with the –secure-file-priv option so it cannot execute this statement.
运行命令查看secure_file_priv值,这里面设置了你只能把文件导出到指定路径中
SHOW VARIABLES LIKE '%secure_file_priv%'
解决办法
- window系统
由于不能动态通过set @secure-file-priv 去修改,所以需要修改my.ini配置文件.
找到mysql安装包文件下的my.ini 配置文件,查看有没有 secure-file-priv 这一行
如果没有加上如下代码
secure-file-priv=””
将导出文件不做限制。
然后重启mysql服务。
- linux系统
更改my.ini路径比较麻烦,建议直接把文件导出到 /tmp 路径下。这个路径是允许的。
第二种方法(推荐)
使用Navicat工具的导出功能,本人使用的是Navicat premium
右击表-》点击导出向导-》出现以下界面,选择输出的文件格式(本人选择txt格式)
点击下一步
选择要导出数据的表--->点击下一步
选择要导出的字段(默认是全选字段,如果要选择单独的字段,按照我上面的操作步骤取消全选)
设置自己想要的分隔符,最后点击下一步,然后点击开始