English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основное руководство по SQLite

Дополнительное руководство по SQLite

Программный интерфейс SQLite

PRAGMA SQLite

Команда PRAGMA SQLite является специальной командой, которая используется для управления различными переменными окружения и флагами состояния в среде SQLite. Значения PRAGMA можно читать и устанавливать по мере необходимости.

Грамматика

Чтобы запросить текущее значение PRAGMA, просто предоставьте имя компиляционного указания.

PRAGMA pragma_name;

Чтобы установить новый значение для PRAGMA, используйте следующую грамматику.

PRAGMA pragma_name = value;

Режим может быть именем, также может быть эквивалентным целым числом, но возвращаемое значение всегда целое число.

auto_vacuum PRAGMA

auto_vacuum PRAGMA получить или установить режим автоматической вакуумной очистки. Вот простая грамматика.

PRAGMA [база данных.]auto_vacuum;
PRAGMA [база данных.]auto_vacuum = режим;

ниже гдережимможно-

НомерPRAGMA значения и описание
1

0 или NONE

Автоматическая очистка отключена. Это режим по умолчанию, что означает, что размер файла базы данных никогда не уменьшится, если не использовать команду VACUUM для ее очистки вручную.

2

1 или FULL

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

3

2 или INCREMENTAL

Автоматическая очистка включена, но должна быть активирована вручную. В этом режиме будут сохранены данные для référence, но свободные страницы будут просто добавлены в список свободных страниц. Эти страницы могут быть использованы в любое времяincremental_vacuum pragma.

cache_size Pragma

cache_sizeКомпиляция может получить или временно установить максимальный размер кэша страниц в памяти. Вот простая грамматика.

PRAGMA [база данных.]cache_size;
PRAGMA [база данных.]cache_size = pages;

pagesЗначение представляет собой количество страниц в кэше. по умолчанию размер встроенного кэша страниц составляет 2,000 страниц, минимальный размер составляет 10 страниц.

case_sensitive_like Pragma

case_sensitive_like pragma контролирует чувствительность к регистру встроенных выражений LIKE. По умолчанию этот pragma установлен в false, что означает, что встроенный оператор LIKE пропускает регистр букв. Ниже приведен простой синтаксис.

PRAGMA case_sensitive_like = [true|false];

Не удается запросить текущее состояние этого компиляционного указания.

count_changes Pragma

count_changes pragma��取或设置数据操作语句(例如INSERT,UPDATE и DELETE)的返回值。以下是简单的语法。

PRAGMA count_changes;
PRAGMA count_changes = [true|false];

По умолчанию, это компиляционное указание установлено в false, и эти инструкции не возвращают никакого содержимого. Если установлено в true, то каждая упомянутая инструкция будет возвращать таблицу с одним столбцом и одной строкой, которая состоит из единственного целого значения, указывающего количество строк,affected by the operation.

database_list Pragma

database_listЭта утилита используется для перечисления всех дополнительных баз данных. Ниже приведен простой синтаксис.

PRAGMA database_list;

Эта утилита возвращает таблицу с тремя столбцами, для каждой открытой или подключенной базы данных есть строка, которая предоставляет номер последовательности базы данных, ее имя и связанный файл.

encoding Pragma

encoding pragma определяет, как строка управления кодируется и хранится в файле базы данных. Ниже приведен простой синтаксис.

PRAGMA encoding;
PRAGMA encoding = format;

Значением формата может бытьUTF-8, UTF-16leилиUTF-16beодин из них.

freelist_count Pragma

freelist_count Pragma возвращает целое число, которое указывает, как многие страницы базы данных в настоящее время помечены как свободные и доступные. Ниже приведен простой синтаксис.

PRAGMA [database.]freelist_count;

Значением формата может бытьUTF-8, UTF-16le илиUTF-16beодин из них.

index_info Pragma

index_info Pragma возвращает информацию о индексах базы данных. Ниже приведен простой синтаксис.

PRAGMA [база данных.]index_info( index_name );

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

index_list Pragma

index_list Pragma перечисляет все индексы, связанные с таблицей. Вот простая грамматика.

PRAGMA [база данных.]index_list( table_name );

Результаты будут содержать по строке для каждого индекса, предоставляя индексную последовательность, имя индекса и флаг, указывающий, является ли индекс уникальным.

journal_mode Pragma

journal_mode Pragma получить или установить, как лог-файл хранится и обрабатывается логовый режим. Вот простая грамматика.

PRAGMA journal_mode;
PRAGMA journal_mode = mode;
PRAGMA database.journal_mode;
PRAGMA database.journal_mode = mode;

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

НомерЗначения PRAGMA и их описание
1

УДАЛИТЬ

Это режим по умолчанию. В конце транзакции файл журнала удаляется.

2

ОТРЕЗАН

Журнал файлы укорачиваются до нулевой длины.

3

ПЕРЕМЕЩАТЬ

Журнал сохраняется на месте, но заголовок изменяется, чтобы указать, что журнал больше не действует.

4

ПАМЯТЬ

Журнал сохраняется в памяти, а не на диске.

5

ОФФ

Не сохранять журнал.

max_page_count PRAGMA

max_page_count PRAGMA получить или установить максимальное количество разрешенных страниц для базы данных. Вот простая грамматика.

PRAGMA [база данных.]max_page_count;
PRAGMA [база данных.]max_page_count = max_page;

Стандартное значение равно 1 073 741 823, то есть одной гигабайтной странице, что означает, что если размер страницы по умолчанию составляет 1 КБ, то база данных может увеличиваться до 1 ТБ.

page_count PRAGMA

page_count PRAGMA возвращает текущее количество страниц базы данных. Вот простая грамматика -

PRAGMA [база данных.]page_count;

Размер файла базы данных должен быть page_count * page_size.

page_size PRAGMA

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

PRAGMA [database.]page_size;
PRAGMA [database.]page_size = bytes;

По умолчанию разрешенные размеры 512, 1024, 2048, 4096, 8192, 16384 и 32768 байт. Единственный способ изменить размер страниц существующей базы данных - установить размер страницы и затем немедленно выполнить команду VACUUM.

PRAGMA parser_trace

parser_trace PRAGMA указывает на управление打印ом отладочного состояния, так как он анализирует команды SQL. Вот простая грамматика.

PRAGMA parser_trace = [true|false];

По умолчанию он установлен в false, но когда его устанавливают в true, анализатор SQL печатає его состояние при анализе команд SQL.

PRAGMA recursive_triggers

recursive_triggers PRAGMA позволяет получить или установить функцию рекурсивных триггеров. Если рекурсивные триггеры не включены, операции триггеров не будут запускать другой триггер. Вот простая грамматика.

PRAGMA recursive_triggers;
PRAGMA recursive_triggers = [true|false];

PRAGMA schema_version

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

PRAGMA [database.]schema_version;
PRAGMA [database.]schema_version = number;

Это 32-битное целое число с знаком, используемое для отслеживания изменений структуры. Каждый раз, когда выполняется команда изменения模式的 (например, CREATE ... или DROP ...), это значение увеличивается.

PRAGMA secure_delete

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

PRAGMA secure_delete;
PRAGMA secure_delete = [true|false];
PRAGMA database.secure_delete;
PRAGMA database.secure_delete = [true|false];

Значение по умолчанию для флага безопасного удаления обычно установлено в off, но его можно изменить с помощью опции компиляции SQLITE_SECURE_DELETE.

PRAGMA sql_trace

sql_trace PRAGMA используется для записи результатов отладки SQL на экран. Вот простая грамматика.

PRAGMA sql_trace;
PRAGMA sql_trace = [true|false];

Нужно компилировать SQLite с помощью инструкции SQLITE_DEBUG, чтобы включить этот указатель компиляции.

PRAGMA synchronous

synchronous PRAGMA получить или установить текущий режим дисковой синхронизации, который контролирует, как активно SQLite будет записывать данные в физическое хранение. Вот простая грамматика.

PRAGMA [база_данных.]synchronous;
PRAGMA [база_данных.]synchronous = mode;

SQLite поддерживает следующие режимы синхронизации, указанные в таблице.

НомерЗначения PRAGMA и их описание
1

0 или OFF

完全没有同步

2

1 или NORMAL

Синхронизация после каждого важного последовательного действия с диска

3

2 или FULL

Синхронизация после каждого важного дискового действия

PRAGMA temp_store

temp_store PRAGMA получить или установить режим хранения временных файлов базы данных. Вот простая грамматика.

PRAGMA temp_store;
PRAGMA temp_store = mode;

SQLite поддерживает следующие режимы хранения.

НомерЗначения PRAGMA и их описание
1

0 или DEFAULT

Использование значения по умолчанию при компиляции. Обычно это FILE.

2

1 или FILE

Использование файлового хранения.

3

2 или MEMORY

Использование памяти для хранения.

PRAGMA temp_store_directory

temp_store_directory PRAGMA получить или установить положение для временных файлов базы данных. Вот простая грамматика.

PRAGMA temp_store_directory;
PRAGMA temp_store_directory = 'путь_каталога';

PRAGMA user_version

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

PRAGMA [база_данных.]user_version;
PRAGMA [база_данных.]user_version = number;

Это 32-битное целое число с знаками, разработчики могут установить это значение для целей отслеживания версий.

PRAGMA writable_schema

writable_schemaКомпилятор��取 или установка возможности изменения системных таблиц. Вот простая грамматика.

PRAGMA writable_schema;
PRAGMA writable_schema = [true|false];

Если установлен этот компилятор指示, можно создавать и изменять таблицы, начинающиеся с sqlite_, включая таблицу sqlite_master. Будьте осторожны при использовании компилятор指示, так как это может привести к полному повреждению базы данных.