当前位置: 首页 > 面试题库 >

将MySQL命令行结果的输出格式更改为CSV

洪涵亮
2023-03-14
问题内容

我想从命令行的查询输出到MySQL获得无标题的CSV数据。我在与MySQL服务器不同的计算机上运行此查询,因此所有带有“ INTO
OUTFILE”的Google回答都不好。

所以我跑了mysql -e "select people, places from things"。输出的内容看起来像这样:

+--------+-------------+
| people | places      |
+--------+-------------+
|   Bill | Raleigh, NC |
+--------+-------------+

好吧,那不好。但是,嘿,看!如果我仅将其通过管道传递到 任何内容 ,它将变成制表符分隔的列表:

people  places
Bill    Raleigh, NC

那样更好-至少可以通过程序分析。但是我不想要TSV,我想要CSV,也不需要那个标题。我可以使用摆脱标题mysql <stuff> | tail -n +2,但是如果MySQL仅带有标记可以忽略它,这是我要避免的麻烦。而且我不能仅用逗号替换所有选项卡,因为这不能处理其中包含逗号的内容。

那么,如何才能使MySQL省略标头并以CSV格式提供数据?


问题答案:

我最后写了自己的命令行工具来解决这个问题。类似于cut,不同之处在于它知道如何处理带引号的字段等。此工具与@Jimothy的答案配合使用,使我可以从远程MySQL服务器获取无标题的CSV文件,而我无法使用此命令访问本地计算机上的文件系统:

$ mysql -N -e "select people, places from things" | csvm -i '\t' -o ','
Bill,"Raleigh, NC"

github上的csvmaster



 类似资料:
  • 我使用的是flume的纯节点(测试)模式;我的水槽以如下方式启动: 水槽节点-1-c$FQDN':amqp(“exchangeName=[exchange name]”,“bindings=[binding name]””,“host=127.0.0.1”,“port=5672”,“userName=[user]”,”password=[pass]“,”exchangeType=direct“,”

  • Computer says no. — Little Britain 一个问题的详细反馈会对解决问题有帮助。当你使用 exec 资源在节点上执行命令时, 并不总能轻易地找出其为何没有正确执行。如果命令返回一个非零的退出状态,Puppet 就会返回类似如下的错误消息: err: /Stage[main]//Node[cookbook]/Exec[this-will-fail]/returns: ch

  • 问题内容: 有没有一种简单的方法可以从Linux命令行运行MySQL查询并以CSV格式输出结果? 这是我现在正在做的事情: 当有很多列需​​要用引号引起来时,或者结果中有引号需要转义时,它将变得混乱。 问题答案: 从http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or- csv-file/ 使用此命令

  • 哪种方法是以CSV格式导出JPA查询结果的最佳方法?我试过opencsv,但它需要一个java.sql.ResultSet对象,我不明白如何创建它。我尝试了以下代码 但我收到异常java.lang.ClassCastException:java.util.Vector不能强制转换为java.sql.ResultSet

  • 本文向大家介绍mysql的登陆和退出命令格式,包括了mysql的登陆和退出命令格式的使用技巧和注意事项,需要的朋友参考一下 mysql登陆的命令格式为: 1.普通登陆mysql数据库 命令格式:mysql -u 用户名 -p 密码,例如: mysql -u root -p root 如果在-p后没有提供密码,则会在执行命令后要求用户输入密码   2.制定端口号登陆,mysql的默认端口号是3306

  • 本文向大家介绍Python实现获取命令行输出结果的方法,包括了Python实现获取命令行输出结果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现获取命令行输出结果的方法。分享给大家供大家参考,具体如下: Python获取命令行输出结果,并对结果进行过滤找到自己需要的! 这里以获取本机MAC地址和IP地址为例! 运行结果: 更多关于Python相关内容可查看本站专题:《