是否可以将SQLite
中的命令传递到ruby脚本中?
例如,我创建了一个test.sqlite
数据库。现在,我要将查询结果从该数据库导出到.csv
文件中。我可以使用命令行简单地做到这一点:
Sqlite3 "H:\\test.sqlite"
.mode csv
.headers on
.once test.csv
select * from cars;
Sqlite3 "H:\\test.sqlite"
.mode csv
.headers on
.once test.csv
select * from cars;
或也使用SQLite3:
sqlite3 -header -csv sqlite3 -header -csv H:\test.sqlite< query.sql > test.csv
,它在CMD中工作得很好,但是我想在我的ruby脚本中进行编码。我还尝试使用%x
将其传递到命令行,但无法正常工作。
有帮助吗?
答案 0 :(得分:0)
您可以使用管道来接收STDIN,有人在这里问(Best practices with STDIN in Ruby?)
或者您也可以使用sqlite gem(https://rubygems.org/gems/sqlite3/versions/1.3.11)连接到数据库,然后从ruby运行查询。
您也可以使用sequel(https://github.com/jeremyevans/sequel)界面更好,与sqlite数据库进行通信
答案 1 :(得分:0)
简单地系统(“ sqlite3 -header -csv sqlite3 -header -csv H:\ test.sqlite
我只需要在路径中添加2个斜杠...
答案 2 :(得分:0)