Tutoriel classi...SE CONNECTER
Tutoriel classique SQLite
auteur:php.cn  temps de mise à jour:2022-04-13 17:05:02

SQLite PRAGMA


La commande PRAGMA de SQLite est une commande spéciale qui peut être utilisée pour contrôler diverses variables d'environnement et indicateurs d'état dans l'environnement SQLite. Une valeur PRAGMA peut être lue et définie selon les besoins.

Syntaxe

Pour interroger la valeur actuelle de PRAGMA, il vous suffit de fournir le nom du pragma :

PRAGMA pragma_name;

Pour définir une nouvelle valeur pour PRAGMA, la syntaxe est la suivante :

PRAGMA pragma_name = value;

Définissez le mode, qui peut être un name ou un entier équivalent, mais la valeur renvoyée sera toujours un entier.

auto_vacuum Pragma

auto_vacuum Pragma Obtient ou définit le mode de vide automatique. La syntaxe est la suivante :

PRAGMA [database.]auto_vacuum;
PRAGMA [database.]auto_vacuum = mode;

Parmi eux, mode can Est l'un des éléments suivants :

Valeur pragma Description
0 ou AUCUN Désactiver le vide automatique. Il s'agit du mode par défaut, ce qui signifie que la taille du fichier de base de données ne sera pas réduite à moins que la commande VACUUM ne soit utilisée manuellement.
1 ou FULLActivez le vide automatique, qui est entièrement automatique. Dans ce mode, le fichier de base de données peut se réduire à mesure que les données sont supprimées de la base de données.
2 ou INCREMENTAL Activer le vide automatique, mais doit être activé manuellement. Dans ce mode, les données de citation sont conservées et les pages gratuites sont uniquement placées dans la liste gratuite. Ces pages peuvent être écrasées à tout moment à l'aide du
Pragma 值描述
0 或 NONE禁用 Auto-vacuum。这是默认模式,意味着数据库文件尺寸大小不会缩小,除非手动使用 VACUUM 命令。
1 或 FULL启用 Auto-vacuum,是全自动的。在该模式下,允许数据库文件随着数据从数据库移除而缩小。
2 或 INCREMENTAL启用 Auto-vacuum,但是必须手动激活。在该模式下,引用数据被维持,免费页面只放在免费列表中。这些页面可在任何时候使用 incremental_vacuum pragma 进行覆盖。
pragma incrémental_vacuum<🎜>.

cache_size Pragma

cache_size Pragma obtient ou définit temporairement la taille maximale du cache de pages en mémoire. La syntaxe est la suivante :

PRAGMA [database.]cache_size;
PRAGMA [database.]cache_size = pages;

pages La valeur est exprimée en nombre de pages dans le cache. Le cache de pages intégré a une taille par défaut de 2 000 pages et une taille minimale de 10 pages.

case_sensitive_like Pragma

case_sensitive_like Pragma contrôle la sensibilité à la casse de l'expression LIKE intégrée. Par défaut, ce Pragma est faux, ce qui signifie que l'opérateur LIKE intégré ignore la casse des lettres. La syntaxe est la suivante :

PRAGMA case_sensitive_like = [true|false];

Il n'existe actuellement aucun moyen d'interroger l'état actuel de ce Pragma.

count_changes Pragma

count_changes Pragma obtient ou définit la valeur de retour des instructions d'opération de données, telles que INSERT, UPDATE et DELETE. La syntaxe est la suivante :

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

Par défaut, ce Pragma est faux et ces déclarations le font ne renvoie rien. Si la valeur est true, chaque instruction mentionnée renverra un tableau à une seule ligne et à une seule colonne composé d'une seule valeur entière représentant la ligne affectée par l'opération.

database_list Pragma

database_list Pragma sera utilisé pour lister toutes les connexions à la base de données. La syntaxe est la suivante :

PRAGMA database_list;

Ce Pragma renverra une table avec une seule ligne et trois colonnes. Chaque fois que la base de données est ouverte ou attachée, la. la séquence dans la base de données recevra son numéro, son nom et les fichiers associés.

encoding Pragma

encoding Pragma contrôle la façon dont les chaînes sont codées et stockées dans les fichiers de base de données. La syntaxe est la suivante :

Encodage PRAGMA ;
Encodage PRAGMA = format;

La valeur de format peut être UTF-8, UTF-16le ou UTF-16be.

freelist_count Pragma

freelist_count Pragma Renvoie un entier représentant le nombre de pages de base de données actuellement marquées comme gratuites et disponibles. La syntaxe est la suivante :

PRAGMA [database.]freelist_count;

La valeur de format peut être UTF-8, UTF-16le ou UTF-16be.

index_info Pragma

index_info Pragma renvoie des informations sur l'index de la base de données. La syntaxe est la suivante :

PRAGMA [database.]index_info( index_name );

Le jeu de résultats sera pour chaque index contenu dans la séquence de colonnes donnée, le colonne dans le tableau Les colonnes d'index et les noms de colonnes affichent une ligne.

index_list Pragma

index_list Pragma répertorie tous les index associés à la table. La syntaxe est la suivante :

PRAGMA [database.]index_list( table_name );

L'ensemble de résultats affichera une ligne pour chaque index pour une séquence de colonnes donnée, le nom de l'index et un indicateur indiquant si l'index est unique.

journal_mode Pragma

journal_mode Pragma Obtient ou définit le mode de journalisation qui contrôle la façon dont les fichiers journaux sont stockés et traités. La syntaxe est la suivante :

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

Cinq modes de journalisation sont pris en charge ici :

Pragma 值描述
DELETE默认模式。在该模式下,在事务结束时,日志文件将被删除。
TRUNCATE日志文件被阶段为零字节长度。
PERSIST日志文件被留在原地,但头部被重写,表明日志不再有效。
MEMORY日志记录保留在内存中,而不是磁盘上。
OFF不保留任何日志记录。

max_page_count Pragma

max_page_count Pragma Obtient ou définit le nombre maximum de pages autorisées pour la base de données. La syntaxe est la suivante :

PRAGMA [database.]max_page_count;
PRAGMA [database.]max_page_count = max_page;

La valeur par défaut est 1 073 741 823, ce qui est un gigabit de pages, soit un mégaoctet qui augmente dans la base de données si la taille de page par défaut est de 1 Ko.

page_count Pragma

page_count Pragma renvoie le nombre de pages Web dans la base de données actuelle. La syntaxe est la suivante :

PRAGMA [database.]page_count;

La taille du fichier de base de données doit être page_count * page_size.

page_size Pragma

page_size Pragma obtient ou définit la taille de la page de la base de données. La syntaxe est la suivante :

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

Par défaut, la taille autorisée est 512, 1024, 2048, 4096, 8192, 16384, 32768 octets. La seule façon de modifier la taille de page d'une base de données existante est de définir la taille de page, puis de mettre immédiatement la base de données sous vide.

parser_trace Pragma

parser_trace Pragma contrôle l'état de débogage de l'impression lors de l'analyse des commandes SQL :

PRAGMA. parser_trace = [true|false];

Par défaut, il est défini sur false, mais lorsqu'il est défini sur true, il est activé, auquel cas l'analyseur SQL imprimera la commande SQL pendant son analyse il déclare.

recursive_triggers Pragma

recursive_triggers Pragma Obtient ou définit la fonction de déclenchement récursif. Si les déclencheurs récursifs ne sont pas activés, une action de déclencheur ne déclenchera pas un autre déclencheur. La syntaxe est la suivante :

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

schema_version Pragma

schema_version Pragma obtient ou définit la valeur de la version du schéma stockée dans l'en-tête de la base de données. La syntaxe est la suivante :

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

Il s'agit d'un fichier signé 32 bits valeur entière, utilisée pour suivre les modifications architecturales. Cette valeur est incrémentée à chaque fois qu'une commande de changement de schéma est exécutée (telle que CREATE... ou DROP...).

secure_delete Pragma

secure_delete Pragma est utilisé pour contrôler la manière dont le contenu est supprimé de la base de données. La syntaxe est la suivante :

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

La valeur par défaut de l'indicateur de suppression sécurisée est généralement désactivée, mais elle peut être modifiée via l'option de construction SQLITE_SECURE_DELETE.

sql_trace Pragma

sql_trace Pragma est utilisé pour afficher les résultats de la trace SQL à l'écran. La syntaxe est la suivante :

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

SQLite doit utiliser la directive SQLITE_DEBUG pour compiler le Pragma vers être référencé.

synchronous Pragma

synchrone Pragma Obtient ou définit le mode de synchronisation du disque actuel, qui contrôle la manière dont SQLite écrit les données sur le stockage physique. La syntaxe est la suivante :

PRAGMA [database.]synchronous;
PRAGMA [database.]synchronous = mode;

SQLite prend en charge les modes de synchronisation suivants :

Pragma 值描述
0 或 OFF不进行同步。
1 或 NORMAL在关键的磁盘操作的每个序列后同步。
2 或 FULL在每个关键的磁盘操作后同步。

temp_store Pragma

temp_store Pragma obtient ou définit le mode de stockage utilisé par les fichiers de base de données temporaires. La syntaxe est la suivante :

PRAGMA temp_store;
PRAGMA temp_store = mode;

SQLite prend en charge les modes de stockage suivants :

Pragma 值描述
0 或 DEFAULT默认使用编译时的模式。通常是 FILE。
1 或 FILE使用基于文件的存储。
2 或 MEMORY使用基于内存的存储。

temp_store_directory Pragma

temp_store_directory Pragma Obtient ou définit l'emplacement utilisé pour les fichiers de base de données temporaires. La syntaxe est la suivante :

PRAGMA temp_store_directory;
PRAGMA temp_store_directory = 'directory_path';

user_version Pragma

user_version Pragma Obtient ou définit la valeur de version définie par l'utilisateur stockée dans l'en-tête de la base de données. La syntaxe est la suivante :

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

Il s'agit d'un fichier signé 32 bits valeur entière, peut être définie par le développeur à des fins de suivi des versions.

writable_schema Pragma

writable_schema Pragma obtient ou définit si les tables système peuvent être modifiées. La syntaxe est la suivante :

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

Si ce Pragma est défini, la table commence par sqlite_ et peut être créé et modifié, y compris la table sqlite_master. Soyez prudent lorsque vous utilisez ce Pragma car cela peut entraîner une corruption de l'intégralité de la base de données.

Site Web PHP chinois