English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Команда PRAGMA SQLite является специальной командой, которая используется для управления различными переменными окружения и флагами состояния в среде SQLite. Значения PRAGMA можно читать и устанавливать по мере необходимости.
Чтобы запросить текущее значение PRAGMA, просто предоставьте имя компиляционного указания.
PRAGMA pragma_name;
Чтобы установить новый значение для PRAGMA, используйте следующую грамматику.
PRAGMA pragma_name = value;
Режим может быть именем, также может быть эквивалентным целым числом, но возвращаемое значение всегда целое число.
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 = pages;
pagesЗначение представляет собой количество страниц в кэше. по умолчанию размер встроенного кэша страниц составляет 2,000 страниц, минимальный размер составляет 10 страниц.
case_sensitive_like pragma контролирует чувствительность к регистру встроенных выражений LIKE. По умолчанию этот pragma установлен в false, что означает, что встроенный оператор LIKE пропускает регистр букв. Ниже приведен простой синтаксис.
PRAGMA case_sensitive_like = [true|false];
Не удается запросить текущее состояние этого компиляционного указания.
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;
Эта утилита возвращает таблицу с тремя столбцами, для каждой открытой или подключенной базы данных есть строка, которая предоставляет номер последовательности базы данных, ее имя и связанный файл.
encoding pragma определяет, как строка управления кодируется и хранится в файле базы данных. Ниже приведен простой синтаксис.
PRAGMA encoding; PRAGMA encoding = format;
Значением формата может бытьUTF-8, UTF-16leилиUTF-16beодин из них.
freelist_count Pragma возвращает целое число, которое указывает, как многие страницы базы данных в настоящее время помечены как свободные и доступные. Ниже приведен простой синтаксис.
PRAGMA [database.]freelist_count;
Значением формата может бытьUTF-8, UTF-16le илиUTF-16beодин из них.
index_info Pragma возвращает информацию о индексах базы данных. Ниже приведен простой синтаксис.
PRAGMA [база данных.]index_info( index_name );
Результаты будут содержать по строке для каждого столбца, содержащегося в индексе, чтобы предоставить порядок столбца, индекс столбца и имя столбца.
index_list Pragma перечисляет все индексы, связанные с таблицей. Вот простая грамматика.
PRAGMA [база данных.]index_list( table_name );
Результаты будут содержать по строке для каждого индекса, предоставляя индексную последовательность, имя индекса и флаг, указывающий, является ли индекс уникальным.
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 получить или установить максимальное количество разрешенных страниц для базы данных. Вот простая грамматика.
PRAGMA [база данных.]max_page_count; PRAGMA [база данных.]max_page_count = max_page;
Стандартное значение равно 1 073 741 823, то есть одной гигабайтной странице, что означает, что если размер страницы по умолчанию составляет 1 КБ, то база данных может увеличиваться до 1 ТБ.
page_count PRAGMA возвращает текущее количество страниц базы данных. Вот простая грамматика -
PRAGMA [база данных.]page_count;
Размер файла базы данных должен быть page_count * page_size.
page_size PRAGMA получить или установить размер страницы базы данных. Вот простая грамматика.
PRAGMA [database.]page_size; PRAGMA [database.]page_size = bytes;
По умолчанию разрешенные размеры 512, 1024, 2048, 4096, 8192, 16384 и 32768 байт. Единственный способ изменить размер страниц существующей базы данных - установить размер страницы и затем немедленно выполнить команду VACUUM.
parser_trace PRAGMA указывает на управление打印ом отладочного состояния, так как он анализирует команды SQL. Вот простая грамматика.
PRAGMA parser_trace = [true|false];
По умолчанию он установлен в false, но когда его устанавливают в true, анализатор SQL печатає его состояние при анализе команд SQL.
recursive_triggers PRAGMA позволяет получить или установить функцию рекурсивных триггеров. Если рекурсивные триггеры не включены, операции триггеров не будут запускать другой триггер. Вот простая грамматика.
PRAGMA recursive_triggers; PRAGMA recursive_triggers = [true|false];
schema_version PRAGMA позволяет получить или установить значение версии структуры, хранящееся в заголовке базы данных. Вот простая грамматика.
PRAGMA [database.]schema_version; PRAGMA [database.]schema_version = number;
Это 32-битное целое число с знаком, используемое для отслеживания изменений структуры. Каждый раз, когда выполняется команда изменения模式的 (например, CREATE ... или DROP ...), это значение увеличивается.
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.
sql_trace PRAGMA используется для записи результатов отладки SQL на экран. Вот простая грамматика.
PRAGMA sql_trace; PRAGMA sql_trace = [true|false];
Нужно компилировать SQLite с помощью инструкции SQLITE_DEBUG, чтобы включить этот указатель компиляции.
synchronous PRAGMA получить или установить текущий режим дисковой синхронизации, который контролирует, как активно SQLite будет записывать данные в физическое хранение. Вот простая грамматика.
PRAGMA [база_данных.]synchronous; PRAGMA [база_данных.]synchronous = mode;
SQLite поддерживает следующие режимы синхронизации, указанные в таблице.
Номер | Значения PRAGMA и их описание |
---|---|
1 | 0 или OFF 完全没有同步 |
2 | 1 или NORMAL Синхронизация после каждого важного последовательного действия с диска |
3 | 2 или FULL Синхронизация после каждого важного дискового действия |
temp_store PRAGMA получить или установить режим хранения временных файлов базы данных. Вот простая грамматика.
PRAGMA temp_store; PRAGMA temp_store = mode;
SQLite поддерживает следующие режимы хранения.
Номер | Значения PRAGMA и их описание |
---|---|
1 | 0 или DEFAULT Использование значения по умолчанию при компиляции. Обычно это FILE. |
2 | 1 или FILE Использование файлового хранения. |
3 | 2 или MEMORY Использование памяти для хранения. |
temp_store_directory PRAGMA получить или установить положение для временных файлов базы данных. Вот простая грамматика.
PRAGMA temp_store_directory; PRAGMA temp_store_directory = 'путь_каталога';
user_versionИнструкции компиляции для получения или установки значения версии, определенного пользователем, хранящегося в заголовке базы данных. Вот простая грамматика.
PRAGMA [база_данных.]user_version; PRAGMA [база_данных.]user_version = number;
Это 32-битное целое число с знаками, разработчики могут установить это значение для целей отслеживания версий.
writable_schemaКомпилятор��取 или установка возможности изменения системных таблиц. Вот простая грамматика.
PRAGMA writable_schema; PRAGMA writable_schema = [true|false];
Если установлен этот компилятор指示, можно создавать и изменять таблицы, начинающиеся с sqlite_, включая таблицу sqlite_master. Будьте осторожны при использовании компилятор指示, так как это может привести к полному повреждению базы данных.