mysql -e与awk联合导出csv文件

最后更新于:2022-04-01 10:12:35

CleverCode发现一个导出mysql数据成csv格式的简单方法。 ### 1)mysql -e使用简介 使用说明:执行一个sql语句并且退出。 格式样例: ~~~ 1)mysql -uroot -p123456 -h 192.168.10.210 -P 3306 db_logs -e "show databases;" 2)mysql -uroot -p123456 -h 192.168.10.210 -P 3306 db_logs -e "select cdate,uid,clientip,createtime from user_login_log limit 1;"  ~~~ 说明:     -u:root为用户名;     -p:123456为密码     -h:mysql服务器ip     -P:3306mysql服务器端口     db_logs:执行语句所在的数据库     -e:需要执行的语句。 ### 2)直接执行语句 ~~~  # mysql -uroot -p123456 -h 192.168.10.210 -P 3306 db_logs -e "select cdate,uid,clientip,createtime from user_login_log limit 1;"   ~~~   ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-29_56fa2a0c95cc0.jpg) ### 3)保存执行语句到文件 ~~~  # mysql -uroot -p123456 -h 192.168.10.210 -P 3306 db_logs -e "select cdate,uid,clientip,createtime from user_login_log limit 1;"  > log.txt  # cat log.txt  ~~~ 可以看到保存的结果是\t分隔的。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-29_56fa2a0cb0f11.jpg) ### 4)保存执行语句到文件,使用awk替换\t成逗号 ~~~  # mysql -uroot -p123456 -h 192.168.10.210 -P 3306 db_logs -e "select cdate,uid,clientip,createtime from user_login_log limit 1;" | awk '{print $1",",$2","$3","$4}' > log.csv  # cat log.csv ~~~ ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-29_56fa2a0cca0b2.jpg) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-29_56fa2a0c7acf5.jpg)
';