如何在.sql文件中调用以下内容?帮助MySQL(.sql)和Shell脚本
mysql -u username -h serverip db -e "select a, b, c, d from mytable" > '/home/dump/result.txt';
然后,我将不得不将选项卡分隔文件转换为我想要使用sed的csv。
- 有没有办法在一个 行吗? (附加sed命令将 .txt文件转换为csv)
- 如何在.sql文件中使用 os.system调用?它会 工作吗?
如何在.sql文件中调用以下内容?帮助MySQL(.sql)和Shell脚本
mysql -u username -h serverip db -e "select a, b, c, d from mytable" > '/home/dump/result.txt';
然后,我将不得不将选项卡分隔文件转换为我想要使用sed的csv。
试试这个:
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'
见--batch
和--skip-column-names
文档的更多信息。
怎么样运行通过mysql
控制台客户端的查询:
SELECT ... FROM ... INTO OUTFILE '/path/to/file.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "\n"
我没有这个选项因为客户端服务器和数据库服务器不同。谢谢! – user337672 2010-05-11 16:31:56
谢谢比尔。我们正在将数据库服务器和客户端相同的场景迁移到单个服务器。我有一堆.sql文件与选择到outfile查询这将不再工作。有没有办法在.sql文件中执行你的解决方案? – user337672 2010-05-11 17:03:06
mysql客户端没有任何选项直接输出到CSV。您将不得不将'sed'命令添加到调用mysql客户端的脚本中。 – 2010-05-11 17:35:11