Команды SQLite3 в ruby - PullRequest
       10

Команды SQLite3 в ruby

0 голосов
/ 28 января 2019

Есть ли способ передать команды из 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, но это не работает.Любая помощь?

Ответы [ 3 ]

0 голосов
/ 28 января 2019

Просто system ("sqlite3 -header -csv sqlite3 -header -csv H: \ test.sqlite test.csv"

Мне просто нужно было добавить 2 косые черты в пути ...

0 голосов
/ 28 января 2019

Вопрос точно не определен.

Сначала прочитайте документацию по sqlite3 gem и csv library .

Используя эту информацию,Вы можете анализировать и записывать csv-файлы, делать запросы и получать результаты в / из БД SQLite3 и многое другое.

0 голосов
/ 28 января 2019

Вы можете получить STDIN, используя каналы, кто-то спросил это здесь ( Лучшие практики с STDIN в Ruby? )

Или вы также можете использовать гем sqlite (https://rubygems.org/gems/sqlite3/versions/1.3.11) для соединения с базой данных и последующего запуска запроса от ruby.

Вы также можете использовать продолжение (https://github.com/jeremyevans/sequel) интерфейс лучше, для связи с базой данных sqlite

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...