2014-01-18 4 views
0

Я пытаюсь следовать How do I dump the data of some SQLite3 tables?, чтобы сбросить стол таблицы в базе данных. В таблице я заинтересован в называется certificates, а столбец Я интересуюсь называется certificate:Как сбросить столбец из таблицы?

$ sqlite3 lbb.db 
SQLite version 3.8.3 2013-12-17 16:32:56 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> select * from sqlite_master where type='table'; 
table|hardware|hardware|2|CREATE TABLE "hardware" (id INTEGER PRIMARY KEY, vendor TEXT, model TEXT, revision TEXT, description TEXT) 
table|certificates|certificates|3|CREATE TABLE certificates(id INTEGER PRIMARY KEY, fingerprint TEXT, certificate TEXT, key TEXT, description TEXT) 
table|firmware|firmware|4|CREATE TABLE firmware(id INTEGER PRIMARY KEY, device_id INTEGER, certificate_id INTEGER, vendor TEXT, description TEXT) 

Когда я сбросить таблицу, я получаю полный дамп. Когда я пытаюсь сбросить столбец таблицы, я получаю почти ничего:

$ sqlite3 lbb.db ".dump 'certificates.certificate'" 
PRAGMA foreign_keys=OFF; 
BEGIN TRANSACTION; 
COMMIT; 
$ 

Как сбросить данные столбцов в Sqlite базе данных?

ответ

1
.mode csv 
.header on 
.out file.dmp 
select certificate from certificates; 
+0

Спасибо bernie. Я обнаружил, что в другом месте, но мне не понравилось '' 'окружающая запись (режим csv) или' certificate = '(режим линии), добавленный к каждой записи, потому что вывод должен запускаться через' sed'. Но я думаю, что его самое лучшее, что я могу сделать. – jww

+0

Если я правильно вас понимаю, вы можете использовать строковые операции, чтобы избавиться от добавленного текста в самом запросе. Я только что проверил это и получил хорошо отформатированный текстовый файл с заголовком столбца, а затем значения под заголовком , – bernie

Смежные вопросы