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

SQLite PRAGMA

Der SQLite PRAGMA-Befehl ist ein spezieller Befehl, der zur Kontrolle verschiedener Umgebungsvariablen und Zustandsflaggen in der SQLite-Umgebung verwendet wird. PRAGMA-Werte können gelesen oder entsprechend eingestellt werden.

Syntax

Um den aktuellen PRAGMA-Wert abzurufen, reicht es aus, den Namen der Kompilationsanweisung bereitzustellen.

PRAGMA pragma_name;

Um einen neuen Wert für PRAGMA zu setzen, verwenden Sie die folgende Syntax.

PRAGMA pragma_name = value;

Der Modus kann ein Name sein oder ein äquivalentes Integer, aber der zurückgegebene Wert ist immer ein Integer.

auto_vacuum PRAGMA

auto_vacuum PRAGMA ermittelt oder setzt den automatischen Vakuum-Modus. Hier ist die einfache Syntax.

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

Wo hierModuskönnen-

NummerPRAGMA-Werte und -Erklärung
1

0 oder NONE

Auto-vacuum ist deaktiviert. Dies ist der Standardmodus, was bedeutet, dass die Größe der Datenbankdatei niemals schrumpft, es sei denn, sie wird manuell mit dem Befehl VACUUM bereinigt.

2

1 oder FULL

Auto aktiviert-vacuum und es ist vollautomatisch, es ermöglicht, dass die Datenbankdatei beim Entfernen von Daten aus der Datenbank kleiner wird.

3

2 oder INCREMENTAL

Auto-vacuum ist aktiviert, aber muss manuell aktiviert werden. In diesem Modus werden Referenzdaten beibehalten, aber freie Seiten einfach in die freie Liste gestellt. Diese Seiten können jederzeit verwendet werdenincremental_vacuum pragma.

cache_size Pragma

cache_sizeDas kompilieren kann die maximale Größe der im Speicher temporär gespeicherten Seiten-Cache-Größe ergeben. Hier ist die einfache Syntax.

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

pagesWert gibt die Anzahl der Seiten im Cache an. Die Standardgröße des eingebauten Cachecaches ist2, 000 Seiten, der kleinste Wert ist10Seiten.

case_sensitive_like Pragma

case_sensitive_like Pragma kontrolliert die Groß-/Kleinschreibung der eingebauten LIKE-Ausdrücke. Standardmäßig ist dieses Pragma auf false gesetzt, was bedeutet, dass der eingebaute LIKE-Operator die Groß-/Kleinschreibung ignoriert. Hier ist die einfache Syntax.

PRAGMA case_sensitive_like = [true|false];

Es kann der aktuelle Status dieses Kompilierungsindikators nicht abgefragt werden.

count_changes Pragma

count_changes Pragma gibt oder setzt den Rückgabewert von Datenbankoperationen (z.B. INSERT, UPDATE und DELETE) zurück. Hier ist die einfache Syntax.

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

Standardmäßig ist diese Kompilierungsanweisung auf false gesetzt und diese Anweisungen geben nichts zurück. Wenn auf true gesetzt, gibt jede erwähnte Anweisung eine Tabelle mit einer einzigen Spalte und einer einzigen Zeile zurück, die aus einem einzigen Integer-Wert besteht, der die Anzahl der Zeilen angibt, die von dieser Operation beeinflusst werden.

database_list Pragma

database_listDieses Programm wird verwendet, um alle zusätzlichen Datenbanken aufzulisten. Hier ist die einfache Syntax.

PRAGMA database_list;

Dieses Programm gibt eine Tabelle mit drei Spalten zurück, wobei jede geöffnete oder verbundene Datenbank eine Zeile hat, die die Datenbanknummer, den Namen und die zugehörige Datei angibt.

encoding Pragma

encoding Pragma kontrolliert, wie der String der Kodierung gespeichert wird, und die Datei in der Datenbank. Hier ist die einfache Syntax.

PRAGMA encoding;
PRAGMA encoding = format;

Der Formatwert kann seinUTF-8, UTF-16oderoderUTF-16seineines von ihnen.

freelist_count Pragma

freelist_count Pragma gibt eine Ganzzahl zurück, die anzeigt, wie viele Datenbankseiten derzeit als leer und verfügbar markiert sind. Hier ist die einfache Syntax.

PRAGMA [database.]freelist_count;

Der Formatwert kann seinUTF-8, UTF-16oderUTF-16seineines von ihnen.

index_info Pragma

index_info Pragma gibt Informationen über die Datenbankindizes zurück. Hier ist ein einfaches Syntaxbeispiel

PRAGMA [database.]index_info(index_name);

Die Ergebnismenge enthält für jede Spalte im Index eine Zeile, um die Spaltenfolge, den Spaltenindex und den Spaltennamen zu geben.

index_list Pragma

index_list Pragma listet alle mit dem Tisch verbundenen Indizes auf. Hier ist ein einfaches Syntaxbeispiel

PRAGMA [database.]index_list(table_name);

Die Ergebnismenge enthält für jeden Index eine Zeile, was die Indexfolge, den Indexnamen und ein Zeichen gibt, das anzeigt, ob der Index einzigartig ist.

journal_mode Pragma

journal_mode Pragma gibt oder setzt den Journalmodus, der steuert, wie und wo die Journaldateien gespeichert und verarbeitet werden. Hier ist ein einfaches Syntaxbeispiel

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

Nachstehend wird eine Liste der fünf unterstützten Journalmodi aufgeführt.

NummerPragma-Werte und Erklärung
1

DELETE

Dies ist der Standardmodus. Am Ende der Transaktion wird das Journaldatei gelöscht.

2

TRUNCATE

Das Journaldatei wird auf eine Länge von null Bytes gekürzt.

3

PERSIST

Das Journaldatei bleibt an Ort und Stelle, aber der Titel wird geändert, um anzuzeigen, dass das Journal nicht mehr gültig ist.

4

MEMORY

Das Journal wird im Speicher gespeichert, nicht auf der Festplatte.

5

OFF

Kein Journal protokollieren.

max_page_count PRAGMA

max_page_count PRAGMA setzt oder liest die maximale Anzahl von Seiten, die für die Datenbank erlaubt sind. Hier ist ein einfaches Syntaxbeispiel

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

Der Standardwert ist1,073,741,823d.h. eine Gigabyte-Seite, was bedeutet, dass, wenn die Standardwerte1 KB Seitengröße, dann kann die Datenbank wachsen bis1 TB.

page_count PRAGMA

page_count PRAGMA gibt die aktuelle Seitenzahl der Datenbank zurück. Hier ist ein einfaches Syntaxbeispiel-

PRAGMA [database.]page_count;

Die Größe der Datenbankdatei sollte page_count betragen * page_size.

page_size PRAGMA

page_size PRAGMA liest oder setzt die Größe der Datenbankseiten. Hier ist die einfache Syntax.

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

Standardmäßig ist die erlaubte Größe512、1024、2048、4096、8192、16384und32768Bytes. Die einzige Methode, die Seitengröße einer bestehenden Datenbank zu ändern, ist, die Seitengröße zu setzen und dann sofort eine VACUUM auf die Datenbank auszuführen.

parser_trace PRAGMA

parser_trace PRAGMA gibt an, den Druck des Debugging-Status zu steuern, da es SQL-Befehle解析t. Hier ist die einfache Syntax.

PRAGMA parser_trace = [true|false];

Standardmäßig ist es auf false gesetzt, aber wenn es auf true gesetzt wird, druckt der SQL-Parser seinen Status beim Parsen von SQL-Befehlen aus.

recursive_triggers PRAGMA

recursive_triggers PRAGMA liest oder setzt die rekursiven Trigger-Funktionen. Wenn rekursive Trigger nicht aktiviert sind, werden Trigger-Aktionen keinen anderen Trigger auslösen. Hier ist die einfache Syntax.

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

schema_version PRAGMA

schema_version PRAGMA liest oder setzt den im Datenbankkopf gespeicherten Wert der Schema-Version. Hier ist die einfache Syntax.

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

Dies ist ein32Ein signiertes整数值,das zur Verfolgung von Schema-Änderungen verwendet wird. Dieser Wert wird erhöht, wenn ein Befehl zum Ändern des Musters (z.B. CREATE ... oder DROP ...) ausgeführt wird.

secure_delete PRAGMA

secure_delete PRAGMA wird verwendet, um zu steuern, wie Inhalte aus der Datenbank gelöscht werden. Hier ist die einfache Syntax.

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

Die Standardwerte für das sichere Löschen der Markierung sind normalerweise off, aber die Standardwerte können mit dem Bauoptionenkonstrukten SQLITE_SECURE_DELETE geändert werden.

sql_trace PRAGMA

sql_trace PRAGMA speichert die SQL-Tracking-Ergebnisse auf dem Bildschirm. Hier ist eine einfache Syntax.

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

Um diese Kompilationsanweisung zu verwenden, muss SQLite mit dem SQLITE_DEBUG-Befehl kompiliert werden.

synchronous PRAGMA

synchronous PRAGMA speichert oder setzt den aktuellen Festplattensynchronisationsmodus, der kontrolliert, wie aktiv SQLite Daten in physische Speicherung schreibt. Hier ist eine einfache Syntax.

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

SQLite unterstützt die folgenden Synchronisationsmodi, die in der folgenden Tabelle aufgeführt sind.

NummerPragma-Werte und Erklärung
1

0 oder OFF

Keine Synchronisierung

2

1 oder NORMAL

Synchronisierung nach jeder Reihe wichtiger Festplattenoperationen

3

2 oder FULL

Synchronisierung nach jedem wichtigen Festplattenoperation

temp_store PRAGMA

temp_store PRAGMA speichert oder setzt den Speichermodus, den die temporären Datenbankdateien verwenden. Hier ist eine einfache Syntax.

PRAGMA temp_store;
PRAGMA temp_store = mode;

SQLite unterstützt die folgenden Speichermodi.

NummerPragma-Werte und Erklärung
1

0 oder DEFAULT

Verwenden Sie den Standardwert bei der Kompilierung. Dies ist in der Regel FILE.

2

1 oder FILE

Verwenden Sie eine auf Dateien basierende Speicherung.

3

2 oder MEMORY

Verwenden Sie eine auf dem Speicher basierende Speicherung.

temp_store_directory PRAGMA

temp_store_directory PRAGMA speichert oder setzt den Ort für die Position der temporären Datenbankdateien. Hier ist eine einfache Syntax.

PRAGMA temp_store_directory;
PRAGMA temp_store_directory = 'directory_path';

user_version PRAGMA

user_versionKompilationsanweisung zum Abrufen oder Setzen des vom Benutzer definierten Versionswerts, der im Datenbankkopf gespeichert ist. Hier ist eine einfache Syntax.

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

Dies ist ein32Ein mit einem Symbol versehenes Integer-Wert, den Entwickler zur Versionsverfolgung einstellen können.

writable_schema PRAGMA

writable_schemaKompilieren, um die Fähigkeit zu erhalten oder zu setzen, Systemtabellen zu bearbeiten. Hier ist eine einfache Syntax.

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

Wenn dieser Kompilierungsindikator gesetzt ist, können Tabellen, einschließlich der sqlite_master-Tabelle, die mit sqlite_ beginnen, erstellt und geändert werden. Seien Sie beim Verwenden von Kompilierungsindikatoren vorsichtig, da dies möglicherweise zu einem vollständigen Datenbankverschlechterung führen kann.