SQLite - PRAGMA

SQLite PRAGMA
kommandoen er en spesiell kommando som skal brukes til å kontrollere ulike miljøvariabler og statlige flagg i SQLite miljøet. En PRAGMA verdi kan leses, og det kan også settes basert på krav

Syntax.

Hvis du vil spørre den aktuelle PRAGMA verdi, bare oppgi navnet på den pragma:
PRAGMA pragma_name;

Hvis du vil angi en ny verdi for PRAGMA, vil du bruke følgende syntaks:
PRAGMA pragma_name = verdi;

Den innstilte modusen kan enten være navnet eller heltallet tilsvarende, men den returnerte verdien vil alltid være en heltall.

auto_vacuum Pragma

auto_vacuum
pragma får eller setter auto-vakuum modus. Følgende er enkel syntaks:
PRAGMA [. Database] auto_vacuum; PRAGMA [. Database] auto_vacuum = mode;

Hvor modus
kan være noe av det følgende:
Pragma ValueDescription0 eller NONEAuto -vacuum er deaktivert. Dette er standard modus hvilket innebærer at en databasefil aldri vil krympe i størrelse, med mindre den er manuelt suges ved hjelp av VACUUM command.1 eller FULLAuto-vakuum er aktivert og helautomatisk som tillater en databasefil å krympe som data blir fjernet fra databasen. 2 eller INCREMENTALAuto-vakuum er aktivert, men må aktiveres manuelt. I denne modusen referansedata er opprettholdt, men gratis sider er rett og slett satt på den frie listen. Disse sidene kan gjenopprettes ved hjelp av incremental_vacuum pragma
helst.
cache_size Pragma

cache_size
pragma kan få eller midlertidig satt den maksimale størrelsen på den in- minne side cache. Følgende er enkel syntaks:
Pragma [. Database] cache_size; PRAGMA [. Database] cache_size = sider;

sider
verdi representerer antall sider i cache. Den innebygde side cache har en standard størrelse på 2000 sider og en minimumsstørrelse på 10 sider.

case_sensitive_like Pragma

case_sensitive_like
pragma styrer case-følsomheten den innebygde SOM uttrykk. Som standard er dette pragma falsk som betyr at den innebygde SOM operatør ignorerer brev tilfelle. Følgende er enkel syntaks:
PRAGMA case_sensitive_like = [true | false];

Det er ingen måte å spørre etter den nåværende tilstanden i dette pragma

count_changes Pragma

. count_changes
pragma får eller setter returverdien av datamanipulasjon utsagn som INSERT, UPDATE og DELETE. Følgende er enkel syntaks:
Pragma count_changes; Pragma count_changes = [true | false];

Som standard er dette pragma falsk og disse uttalelsene ikke tilbake noe. Hvis satt til sann, vil hver av de nevnte uttalelsen returnere en one-kolonne, én rad tabell består av et enkelt heltall som indikerer påvirket rader av operasjonen.

database_list Pragma

< b> database_list
pragma vil bli brukt til å liste ned alle databasene vedlagt. Følgende er enkel syntaks:
PRAGMA database_list;

Dette pragma et bord tre-kolonne vil komme tilbake med en rad per åpen eller knyttet database gi database sekvensnummer, navn og fil forbundet

koding. Pragma

koding
pragma styrer hvor strengene er kodet og lagret i en database fil. Følgende er enkel syntaks.
PRAGMA koding PRAGMA encoding = format;

Formatet verdien kan være en av UTF-8, UTF-16LE, eller UTF-16be

freelist_count Pragma

freelist_count
pragma returnerer ett enkelt tall som angir hvor mange databasesider er i dag merket gratis og tilgjengelig. Følgende er enkel syntaks:
PRAGMA [. Database] freelist_count;

Formatet verdien kan være en av UTF-8, UTF-16LE, eller UTF-16be

index_info Pragma
.

index_info
pragma returnerer informasjon om en database indeks. Følgende er enkel syntaks:
PRAGMA [database.] Index_info (index_name);

Resultatet settet vil inneholde en rad for hver kolonne som finnes i indeksen gi kolonne indeksen-tabell og kolonnenavnet kolonne sekvens,.

index_list Pragma

index_list
Pragma viser alle indeksene i forbindelse med et bord. Følgende er enkel syntaks:
PRAGMA [. Database] index_list (table_name);

Resultatet settet vil inneholde en rad for hver indeks gi indeksen sekvens, indeks navn og flagg som angir om indeksen er unikt eller ikke
journal_mode Pragma

journal_mode
pragma får eller setter tidsskriftet modus som styrer hvordan journalfilen lagres og behandles. Følgende er enkel syntaks:
PRAGMA journal_mode; PRAGMA journal_mode = modus; PRAGMA database.journal_mode; PRAGMA database.journal_mode = mode;

Det er fem støttes tidsskrift moduser:
Pragma ValueDescriptionDELETEThis er standardmodus. Her ved avslutningen av en transaksjon, er journalfilen deleted.TRUNCATEThe journalfil avkortes til en lengde på null bytes.PERSISTThe journalfilen er igjen på plass, men overskriften er overskrevet for å indikere journalen ikke lenger valid.MEMORYThe journal posten er lagret i minnet, snarere enn på disk.OFFNo journal posten holdes.
max_page_count Pragma

max_page_count
pragma får eller setter den maksimalt tillatte antall sider for en database. Følgende er enkel syntaks:
PRAGMA [database.] Max_page_count; PRAGMA [database.] Max_page_count = max_page;

Standardverdien er 1073741823 som er en giga-side som betyr at hvis standard 1 KB sidestørrelsen, dette tillater databaser for å vokse opp til en terabyte.

PAGE_COUNT Pragma

PAGE_COUNT
pragma returnerer gjeldende antall sider i databasen. Følgende er enkel syntaks:
PRAGMA [database.] PAGE_COUNT;

Størrelsen på databasefilen skal PAGE_COUNT * page_size

page_size Pragma

page_size.
pragma får eller setter størrelsen på databasesider. Følgende er enkel syntaks:
PRAGMA [database.] Page_size; PRAGMA [database.] Page_size = bytes;

Som standard de tillatte størrelsene er 512, 1024, 2048, 4096, 8192, 16384 og 32768 bytes . Den eneste måten å endre sidestørrelse på en eksisterende database er å angi sidestørrelse og deretter umiddelbart STØVSUG databasen.

parser_trace Pragma

parser_trace
pragma kontroller utskrift debugging staten som den analyserer SQL-kommandoer. Følgende er enkel syntaks:
PRAGMA parser_trace = [true | false];

Som standard er den satt til false, men når den er aktivert ved å sette den til sann, vil SQL-parseren ut sin tilstand som den analyserer SQL-kommandoer.

recursive_triggers Pragma

recursive_triggers
pragma får eller setter den rekursive trigger funksjonalitet. Hvis rekursive triggere ikke er aktivert, vil en utløser handling ikke avfyre ​​en annen trigger. Følgende er enkel syntaks:
Pragma recursive_triggers; Pragma recursive_triggers = [true | false];
schema_version Pragma

schema_version
pragma får eller setter skjema versjon verdien som er lagret i databasen spissen. Følgende er enkel syntaks:
PRAGMA [. Database] schema_version; PRAGMA [. Database] schema_version = antall;

Dette er en 32-bits heltall verdi som holder styr på skjemaendringer. Når et skjema rende kommando utføres (like, CREATE ... eller DROP ...), er denne verdien økes.

secure_delete Pragma

secure_delete
pragma brukes for å kontrollere hvordan innhold slettes fra databasen. Følgende er enkel syntaks:
PRAGMA secure_delete; PRAGMA secure_delete = [true | false]; PRAGMA database.secure_delete; PRAGMA database.secure_delete = [true | false];

Standardverdien for sikker sletting flagget er normalt off, men dette kan endres med SQLITE_SECURE_DELETE generator.

sql_trace Pragma

sql_trace
pragma blir brukt til å dumpe SQL spor resultater til skjermen. Følgende er enkel syntaks.
PRAGMA sql_trace; PRAGMA sql_trace = [true | false];

SQLite må kompileres med SQLITE_DEBUG direktivet for dette pragma å bli inkludert

synkron Pragma Anmeldelser

synkron
pragma får eller setter den aktuelle disken synkroniseringsmodus som styrer hvor aggressivt SQLite vil skrive data hele veien ut til fysisk lagring. Følgende er enkel syntaks:
PRAGMA [. Database] synkron; PRAGMA [. Database] synkron = mode;

SQLite støtter følgende synkroniseringsmoduser:
Pragma ValueDescription0 eller OFFNo synkroniserer ved ALL1 eller NORMALSync etter hver sekvens av kritisk disk operations2 eller FULLSync etter hvert kritisk operasjon disk
temp_store Pragma

temp_store
pragma får eller setter lagringsmodus brukes av midlertidige databasefiler. Følgende er enkel syntaks:
PRAGMA temp_store; PRAGMA temp_store = mode;

SQLite støtter følgende lagrings moduser:
Pragma ValueDescription0 eller DEFAULTUse kompilere-tid standard. Normalt FILE.1 eller FILEUse filbasert storage.2 eller MEMORYUse minnebasert lagring.
temp_store_directory Pragma

temp_store_directory
pragma får eller setter plasseringen brukes for midlertidige databasefiler. Følgende er enkel syntaks:
PRAGMA temp_store_directory; PRAGMA temp_store_directory = 'directory_path';
user_version Pragma

user_version
pragma får eller setter brukerdefinert versjon verdi som er lagret i databasen spissen. Følgende er enkel syntaks:
PRAGMA [. Database] user_version; PRAGMA [. Database] user_version = antall;

Dette er en 32-bits heltall verdi som kan settes av utbygger for versjon sporing formål <. br>
writable_schema Pragma

writable_schema
pragma får eller setter muligheten til å endre systemtabeller. Følgende er enkel syntaks:
PRAGMA writable_schema; PRAGMA writable_schema = [true | false];

Hvis dette pragma er satt, kan tabeller som starter med sqlite_ bli opprettet og modifisert, inkludert sqlite_master tabellen. Vær forsiktig når du bruker pragma fordi det kan føre til fullstendig database korrupsjon. Anmeldelser