Как вывести данные некоторых таблиц SQLite3? - PullRequest
168 голосов
/ 16 сентября 2008

Как мне вывести данные, и только данные, а не схему, некоторых таблиц SQLite3 базы данных (не всех таблиц)? Дамп должен быть в формате SQL, так как он должен быть легко повторно введен в базу данных позже и должен быть выполнен из командной строки. Что-то вроде

sqlite3 db .dump

но без выгрузки схемы и выбора таблиц для выгрузки.

Ответы [ 13 ]

2 голосов
/ 16 мая 2012

Эта версия хорошо работает с символами новой строки внутри вставок:

sqlite3 database.sqlite3 .dump | grep -v '^CREATE'

На практике исключаются все строки, начинающиеся с CREATE, которые с меньшей вероятностью содержат символы новой строки

0 голосов
/ 17 февраля 2015

Ответ от retracile должен быть самым близким, но он не работает для моего случая. Один запрос вставки просто сломался в середине, и экспорт просто остановился. Не уверен, в чем причина. Однако он прекрасно работает во время .dump.

Наконец, я написал инструмент для разделения SQL, сгенерированного из .dump:

https://github.com/motherapp/sqlite_sql_parser/

0 голосов
/ 16 сентября 2008

Вы можете сделать выбор в таблицах, вставляя запятые после каждого поля, чтобы создать CSV, или использовать инструмент GUI, чтобы вернуть все данные и сохранить их в CSV.

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