首页 > 数据库技术 > 详细

MySQL Export--导出数据

时间:2019-04-01 21:29:07      阅读:480      评论:0      收藏:0      [点我收藏+]

===========================================================

SELECT INTO OUTFILE
语法格式:

SELECT [columns]
INTO 
OUTFILE ‘FileName‘
[{FIELDS|COLUMNS} TERMINATED BY ‘String‘]
[[OPTIONALLY] ENCLOSED BY ‘char‘]
[LINES [STARTING BY ‘string‘] [TERMINATED BY ‘string‘]]
FROM TABLE_NAME WHERE ...

在将选择的记录导出到.csv文件时,出现提示“The MySQL server is running with the --secure-file-priv option so it cannot execute this statement”。
解决办法:
在配置文件的[mysqld]部分增加secure_file_priv="/",然后重启既可以将数据导出到任何目录。
参考连接:https://dev.mysql.com/doc/refman/5.7/en/server-options.html

 

由于Linux的换行符为\n,而Windows 的换行符为\r\n ,因此在导出供windows使用的数据文件时,要指定换行符。

Windows下csv文件默认使用gbk字符集,因此导出脚本为:

SELECT HOST,USER 
INTO OUTFILE /tmp/tb001.csv CHARACTER SET gbk  
FIELDS TERMINATED BY ,   
OPTIONALLY ENCLOSED BY "   
ESCAPED BY \\    
LINES TERMINATED BY \r\n   
FROM mysql.user;  

 

===========================================================

mysql命令导出

使用mysql命令来执行命令或命令文件,并将执行结果输出到文件中。

相关参数:

--verbose: 输出结果中包含执行命令
--vertical:垂直方式显示执行结果(类似于\G)
--unbuffered: 每执行一条SQL语句都刷新执行结果。
--skip-column-names:输出结果中不包含列名
--batch:禁用交互模式
--silent:数据列使用tab分隔,数据行使用换行显示
--execute:执行命令并退出

 

使用mysql执行命令导出csv文件:

/export/servers/mysql/bin/mysql \
--host="127.0.0.1" \
--port=3358 \
--user="root" \
--password="root" \
--database="mysql" \
--batch \
--execute "select host,user from mysql.user where user=‘root‘;" \
| sed "s//\/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > /tmp/mysql_user.csv

 

使用mysql执行命令文件并输出每条SQL及其执行结果:

/export/servers/mysql/bin/mysql --host="127.0.0.1" \
--port=3358 \
--user="root" \
--password="root" \
--database="mysql" \
--verbose \
--batch \
</tmp/mysql_user.sql 1>/tmp/mysql_user.log 2>/tmp/mysql_user.err

 

MySQL Export--导出数据

原文:https://www.cnblogs.com/gaogao67/p/10638199.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!