SQLite Команды

В этой главе будут объяснены простые, но полезные команды, используемые программистами SQLite. Эти команды называются точечными командами SQLite, и их отличие состоит в том, что они не заканчиваются точкой с запятой;в конце.

Давайте введём простуюsqlite3команду. В командной строке SQLite вы можете использовать различные команды SQLite.

$ sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite>

Чтобы получить список доступных точечных команд, вы можете в любое время ввести ".help". Например:

sqlite>.help

Вышеуказанная команда отобразит список различных важных точечных команд SQLite, как показано ниже:

КомандаОписание
.backup ?DB? FILEСделайте резервную копию базы данных DB (по умолчанию "main") в файл FILE.
.bail ON|OFFОстановиться после возникновения ошибки. По умолчанию OFF.
.databasesПоказать имена баз данных и файлы, к которым они привязаны.
.dump ?TABLE?Сделать дамп базы данных в текстовом формате SQL. Если указана таблица TABLE, выгружать только таблицы TABLE, соответствующие шаблону LIKE.
.echo ON|OFFВключить или выключить эхо.
.exitВыйти из приглашения SQLite.
.explain ON|OFFВключить или выключить режим вывода, подходящий для EXPLAIN. Если параметр не указан, считается, что EXPLAIN включён.
.header(s) ON|OFFВключить или выключить отображение заголовков.
.helpПоказать сообщения.
.import FILE TABLEИмпортировать данные из файла FILE в таблицу TABLE.
.indices ?TABLE?Отобразить имена всех индексов. Если указана таблица TABLE, отображать только индексы таблиц TABLE, соответствующие шаблону LIKE.
.load FILE ?ENTRY?Загрузить библиотеку расширений.
.log FILE|offВключить или выключить ведение журнала. FILE может быть stderr (стандартный поток ошибок)/stdout (стандартный поток вывода).
.mode MODEЗадайте режим вывода, MODE может быть одним из следующих:
  • csvзначения, разделённые запятыми

  • columnстолбцы, выровненные по левому краю

  • htmlкод HTML <table>

  • insertSQL-инструкции INSERT для таблиц TABLE

  • lineодно значение на строку

  • listзначения, разделённые строками .separator

  • tabsзначения, разделённые символом табуляции

  • tclэлементы списка TCL

.nullvalue STRINGВыводить строку STRING вместо значений NULL.
.output FILENAMEНаправлять вывод в файл FILENAME.
.output stdoutНаправлять вывод на экран.
.print STRING...Выводить строку STRING как есть.
.prompt MAIN CONTINUEЗаменить стандартное приглашение.
.quitВыйти из приглашения SQLite.
.read FILENAMEВыполнить SQL из файла FILENAME.
.schema ?TABLE?Отобразить операторы CREATE. Если указана таблица TABLE, отображать только таблицы TABLE, соответствующие шаблону LIKE.
.separator STRINGИзменить режим вывода и разделитель, используемый в .import.
.showОтобразить текущие значения различных настроек.
.stats ON|OFFВключить или выключить статистику.
.tables ?PATTERN?Вывести имена таблиц, соответствующих шаблону LIKE.
.timeout MSПопытаться открыть заблокированные таблицы в течение MS миллисекунд.
.width NUM NUMУстановите ширину столбцов для режима "column".
.timer ON|OFF Включите или выключите таймер процессора.

Давайте попробуем использовать.showкоманду, чтобы просмотреть настройки по умолчанию командной строки SQLite.

sqlite>.show
     echo: off
  explain: off
  headers: off
     mode: column
nullvalue: ""
   output: stdout
separator: "|"
    width:
sqlite>
Убедитесь, что между приглашением sqlite> и точечной командой нет пробела, иначе она не будет работать правильно.

Форматирование вывода

Вы можете использовать следующие точечные команды, чтобы отформатировать вывод в форматы, перечисленные ниже в этом руководстве:

sqlite>.header on
sqlite>.mode column
sqlite>.timer on
sqlite>

Приведённые выше настройки создадут вывод в следующем формате:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
CPU Time: user 0.000000 sys 0.000000

Таблица sqlite_master

Главная таблица хранит ключевую информацию о таблицах базы данных и называет еёsqlite_master. Чтобы просмотреть сводку таблицы, выполните следующее:

sqlite>.schema sqlite_master

Это даст следующий результат:

CREATE TABLE sqlite_master (
  type text,
  name text,
  tbl_name text,
  rootpage integer,
  sql text
);
Другие расширения