Как правильно просмотреть файл .sqlite с помощью sqlite?

16

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

Я использую Ubuntu GNOME 16.04 с GNOME 3.20.


источник
1
Какой вывод или тип просмотра вы хотите? Я думаю, что есть также исследователи базы данных с графическим интерфейсом, с которыми проще работать.
Byte Commander
@ByteCommander: Зависит от того, какие типы есть, не могли бы вы привести примеры? Кроме того, я не против, если это в CLI или GUI.
2
Кстати, вы уверены, что хотите sqliteи нет sqlite3?
Андреа Лаззаротто
@AndreaLazzarotto: я не знаю ... Все, что я знаю, это то, что у меня есть .sqliteфайлы, созданные Firefox, которые я хочу просмотреть.
sqliteэто старая версия. Я настоятельно рекомендую вам использовать, sqlite3но вы, вероятно, уже сделали это, если вы установили замечательный, sqlitebrowserкак предложено в А. :)
Андреа Лаззаротто

Ответы:

31

Давайте начнем с более удобного способа и используем инструмент GUI sqlitebrowser. Он предлагает вам легко изучить базу данных без необходимости знать команды SQL.

Вы можете установить его с помощью команды

sudo apt install sqlitebrowser

и запустить его из меню программы запуска / тире / приложения или с помощью команды

sqlitebrowser

В главном окне вы можете нажать, Open databaseчтобы открыть свой *.sqliteфайл. Затем он отобразит что-то вроде этого (здесь отображается база данных дополнения Firefox для применения пользовательских стилей):

введите описание изображения здесь

Я уже переключился на Browse Dataвкладку на левой панели, где вы можете просмотреть содержимое таблицы базы данных. Вы выбираете, какую таблицу отображать в поле со списком «Таблица:».


Конечно, вы также можете сделать это из командной строки, используя например sqlite3. Этот метод требует, чтобы вы знали, по крайней мере, базовый набор команд SQL и лучше подходит для опытных пользователей или если вам нужно проанализировать вывод в скрипте.

Вы устанавливаете sqlite3с помощью команды

sudo apt install sqlite3

и затем запустите его с помощью следующей команды ( -columnи -headerпараметр для лучшей читаемости вывода, см. man sqlite3для получения дополнительной информации):

sqlite3 -column -header

Затем вы получаете интерактивную командную строку SQLite3, например:

$ sqlite3 -column -header
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
sqlite> 

Первое, что вы должны сделать сейчас, это открыть файл базы данных. Поэтому вы можете использовать команду .openSQLite. Введите это в sqlite>подсказку (снова используя ту же базу данных дополнений Firefox, что и выше, вы, конечно, введете другой путь):

.open "/home/bytecommander/.mozilla/firefox/gtltfeay.default/stylish.sqlite"

Обратите внимание, что Tabзавершение работает здесь и поможет вам ввести путь к файлу базы данных.

Теперь вы можете увидеть список загруженных баз данных с помощью .databasesкоманды (имя файла сокращено, потому что оно очень длинное):

sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /home/bytecommander/.mozilla/firefox/gtltfeay.default/styl

Вы видите, что база данных, которую мы только что открыли, теперь называется main.

На следующем шаге мы перечислим все таблицы mainбазы данных (по умолчанию):

sqlite> .tables
style_meta  styles    

Мы видим две таблицы style_metaи stylesперечислены.

Давайте отобразим style_metaтаблицу полностью со всеми столбцами. Поэтому нам нужна команда SQL SELECT * FROM style_meta;(не забывайте точку с запятой!):

sqlite> SELECT * FROM style_meta;
id          style_id    name        value      
----------  ----------  ----------  -----------
46          1           domain      lichess.org
47          1           type        site       
48          3           domain      lichess.org
49          3           type        site       
50          2           domain      lichess.org
51          2           type        site       
53          4           type        global     

Для того, чтобы получить помощь команд для интерактивной оболочки sqlite3 ( в командах , начиная с периода), типа .helpна sqlite>приглашение или прочитать его страницу руководства man sqlite3. Все остальные команды являются общими SQL, вам нужно найти базовый учебник по SQL, чтобы изучить их.

Вы можете sqlite3снова выйти из интерактивной оболочки, используя .exitкоманду или Ctrl+ D.

Byte Commander
источник
1
Я бы предложил .schemaкоманду, чтобы увидеть, как были созданы таблицы и поля.
Андреа Лаззаротто
Плохой опыт работы с sqlitebrowser. Он зависал, когда я запускал запрос или когда окно перемещалось в фоновый режим. После этого переключился на инструмент командной строки.
ka3ak
Спасибо @Byte Commander за такой красивый и обстоятельный ответ.
навсегда