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)