主页 >> 程序猿的东西 >> MySQL查询导出到csv

MySQL查询导出到csv

问题

这其实是个常用技能,大部分GUI工具都提供了一些相关的操作,但是由于我用的都是基于WEB的管理工具,对结果条目超长,查询时间超长就很难适应。所以常常需要去终端导。

终端里面众所周知的导出工具是mysqldump,不过这个工具适合整表导出和备份之用,如果需要指定查询和输出格式,就比较麻烦了。谷歌一轮无解。

解决

不过好在皇天不负有心人,终于还是在stackovervlow找到一种方式,点击查看>>>

这个方法的思路是调用mysql命令,直接返回查询结果。再用sed调整格式为csv。这是个好思路,不过我不懂sed,看到那串天书般的指令不禁懵逼。但是我懂点awk啊,一样的啦。

我的命令是:

mysql -B -h'localhost' -u'root' -p  -D database -e "select * from b_brand;"|awk '{gsub(/\t/,",");print $0;}'>brand.csv

以竖线“|”为分隔,前半截是mysql查询,大家应该找到了查询语句就是-e后面的,-D指定database,各种其他参数看不懂的就各自查文档吧。执行这个命令会直接把查询结果输出到终端。由于这个结果是用tab分隔字段,所以后面要做的就是把tab格式化了。

竖线“|”后面至“>”的awk就是做这事的,gsub是查找\t字符换成英文逗号作为csv的分隔符,相信熟悉awk的同学还会在这个步骤发挥出其他作用。毕竟awk就是专门处理这种表格数据的。到此为止呢我们就得到了我们最终需要的csv格式的表格结果了。

但是这样还是输出在终端的。所以我们用“>”操作符将输出导入到一个文件,所以“>”后面就是你需要的结果文件名。如果一次执行中断了,我们还可以用“>>”的追加形式再次执行。这些都是Linux的基本操作啦。

后记

不过执行这个命令的时候需要注意的是,很多SQL语句会使用` 符号来引用表名和字段名等等。但是在终端命令时 ` 符号是有特殊含义的。所以要注意这个字符的使用,我的方式是全部去掉。

54人评论了“MySQL查询导出到csv”

  1. Pingback: stromectol nz

  2. Pingback: ivermectin iv

  3. Pingback: cialis dosage

  4. Pingback: sildenafil interactions

  5. Pingback: ivermectin study nih

  6. Pingback: horse wormer ivermectin

  7. Pingback: ventolin uk prescription

  8. Pingback: covid protocols

  9. Pingback: covid protocols

  10. Pingback: ivermectin manufacturer

  11. Pingback: ivermectin lotion 0.5

  12. Pingback: frontline doctors ivermectin

  13. Pingback: cost of ivermectin

  14. Pingback: ignition casino ndb

  15. Pingback: meritroyalbet

  16. Pingback: meritking

  17. Pingback: madridbet

  18. Pingback: stromectol for sale

  19. Pingback: order prednisone 5mg online

  20. Pingback: tadalafil india

  21. Pingback: cost of tadalafil without prescription

  22. Pingback: elexusbet

  23. Pingback: meritroyalbet

  24. Pingback: ivermectin buy canada

  25. Pingback: caverta cheap cialis generic viagra

  26. Pingback: buy cialis online in india

  27. Pingback: oral ivermectin cost

  28. Pingback: cialis drug

  29. Pingback: baymavi

  30. Pingback: order cialis online

  31. Pingback: generic cialis uk cost

  32. Pingback: baymavi

  33. Pingback: sildenafil tablets

  34. Pingback: buy cialis

  35. Pingback: stromectol cost

  36. Pingback: generic sildenafil tablets

  37. Pingback: tadalafil liquid

  38. Pingback: order cialis

  39. Pingback: cialis

  40. Pingback: tombala siteleri

  41. Pingback: how to order prednisone online

  42. Pingback: buy prednisone online overnight

  43. Pingback: molnupiravir structure

  44. Pingback: generic cialis tadalafil

  45. Pingback: roman tadalafil

  46. Pingback: buy cialis canada

  47. Pingback: buy online

  48. Pingback: ivermectin in canada for humans

  49. Pingback: steroid side effects

  50. Pingback: discount generic viagra online

  51. Pingback: meritroyalbet

  52. Pingback: eurocasino

  53. Pingback: casinos online for real money top rated

  54. Pingback: tadalafil and dapoxetine

评论区已关闭。