MySQL(.sql)和Shell脚本的帮助

MySQL(.sql)和Shell脚本的帮助,mysql,shell,scripting,sed,os.system,Mysql,Shell,Scripting,Sed,Os.system,如何在.sql文件中调用以下内容 mysql -u username -h serverip db -e "select a, b, c, d from mytable" > '/home/dump/result.txt'; 然后,我必须将选项卡分隔的文件转换为csv,我要使用sed 有没有一种方法可以一次完成这一切 线路?(附加sed命令以转换 将.txt文件转换为csv文件) 如何使用 是否在.sql文件中调用os.system?会吗 工作 如何通过mysql控制台客户端运行此查询:

如何在.sql文件中调用以下内容

mysql -u username -h serverip db -e "select a, b, c, d from mytable" > '/home/dump/result.txt';
然后,我必须将选项卡分隔的文件转换为csv,我要使用sed

  • 有没有一种方法可以一次完成这一切 线路?(附加sed命令以转换 将.txt文件转换为csv文件)
  • 如何使用 是否在.sql文件中调用os.system?会吗 工作

  • 如何通过
    mysql
    控制台客户端运行此查询:

    SELECT ... FROM ... INTO OUTFILE  '/path/to/file.csv' 
    FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "\n"
    
    试试这个:

    mysql --batch --skip-column-names -u username -h serverip db \
      -e "select a, b, c, d from mytable" \
      | sed -e 's/\t/,/g' \
      > '/home/dump/result.txt'
    

    有关详细信息,请参阅文档。

    我没有此选项,因为客户端服务器和数据库服务器不同。谢谢谢谢你,比尔。我们正在从db服务器和客户端相同的场景迁移到这两个服务器的单独服务器。我有一堆带有select into outfile查询的.sql文件,这些文件将不再工作。有没有办法在.sql文件本身中执行您的解决方案?mysql客户端没有任何选项可以直接输出到CSV。您必须将
    sed
    命令添加到调用mysql客户端的脚本中。