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

PRAGMA de SQLite

El comando PRAGMA de SQLite es un comando especial utilizado para controlar las variables de entorno y los indicadores de estado en el entorno de SQLite. Los valores de PRAGMA se pueden leer y también se pueden configurar según sea necesario.

Sintaxis

Para consultar el valor actual de PRAGMA, solo hay que proporcionar el nombre de la indicación de compilación.

PRAGMA nombre_pragma;

Para establecer un nuevo valor para PRAGMA, utilice la siguiente sintaxis.

PRAGMA nombre_pragma = valor;

El modo puede ser un nombre o un entero equivalente, pero el valor devuelto siempre es un entero.

PRAGMA auto_vacuum

auto_vacuum PRAGMA obtener o establecer el modo de vacío automático. A continuación, se muestra la sintaxis simple.

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

Donde se encuentramodoPuede-

NúmeroValores y descripciones de PRAGMA
1

0 o NONE

Auto-Vacuum está deshabilitado. Este es el modo predeterminado, lo que significa que a menos que se utilice el comando VACUUM manualmente para limpiarlo, el tamaño del archivo de la base de datos nunca se reducirá.

2

1 o FULL

Auto habilitado-Vacuum y es completamente automático, cuando se elimina datos de la base de datos, permite que el archivo de la base de datos se reduzca.

3

2 o INCREMENTAL

Auto-Vacuum está habilitado, pero debe activarse manualmente. En este modo, se conservarán los datos de referencia, pero las páginas libres se colocarán simplemente en la lista de páginas libres. Estas páginas pueden ser utilizadas en cualquier momentoPragama incremental_vacuum.

Pragma cache_size

cache_sizeEl tamaño máximo de la caché de páginas que se puede obtener o configurar temporalmente en la memoria. A continuación, se muestra la sintaxis simple.

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

pagesEl valor representa el número de páginas en el caché. El tamaño predeterminado del caché integrado es2, 000 páginas, el tamaño mínimo es10páginas.

case_sensitive_like Pragma

case_sensitive_like Pragma controla la sensibilidad a mayúsculas y minúsculas de las expresiones LIKE integradas. Por defecto, este pragma es false, lo que significa que el operador LIKE integrado ignora las mayúsculas y minúsculas. A continuación se muestra la sintaxis simple.

PRAGMA case_sensitive_like = [true|false];

No se puede consultar el estado actual de esta indicación de compilación.

count_changes Pragma

count_changes Pragma obtiene o configura el valor de retorno de las sentencias de operación de datos (por ejemplo, INSERT, UPDATE y DELETE). A continuación se muestra la sintaxis simple.

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

Por defecto, esta indicación de compilación es false y estas sentencias no devuelven ningún contenido. Si se establece en true, cada sentencia mencionada devolverá una tabla de una columna y una fila, que consta de un valor entero que indica el número de filas afectadas por esta operación.

database_list Pragma

database_listEste programa se utiliza para listar todas las bases de datos adicionales. A continuación se muestra la sintaxis simple.

PRAGMA database_list;

Este programa devolverá una tabla de tres columnas, con una fila para cada base de datos abierta o conectada, que proporciona el número de secuencia de la base de datos, su nombre y el archivo asociado.

encoding Pragma

encoding Pragma controla cómo se codifica la cadena de control y se almacena en el archivo de la base de datos. A continuación se muestra la sintaxis simple.

PRAGMA encoding;
PRAGMA encoding = format;

El valor de formato puede serUTF-8, UTF-16ooUTF-16seruno de ellos.

freelist_count Pragma

freelist_count Pragma devuelve un entero que indica cómo se marcan como libres y disponibles muchas páginas de base de datos. A continuación se muestra la sintaxis simple.

PRAGMA [database.]freelist_count;

El valor de formato puede serUTF-8, UTF-16oUTF-16seruno de ellos.

index_info Pragma

información_de_indice Pragma devuelve información sobre los índices de la base de datos. A continuación se muestra una sintaxis simple

PRAGMA [database.]index_info( index_name );

El conjunto de resultados contendrá una fila para cada columna que contiene el índice, proporcionando el orden de la columna, el índice de columna en la tabla y el nombre de la columna.

lista_de_indice Pragma

lista_de_indice Pragma enumera todos los índices asociados con la tabla. A continuación se muestra una sintaxis simple

PRAGMA [database.]index_list( table_name );

El conjunto de resultados contendrá una fila para cada índice, proporcionando la secuencia del índice, el nombre del índice y un indicador de si el índice es único.

modo_de_registro Pragma

modo_de_registro Pragma obtiene o configura el modo de registro que controla cómo se almacena y procesa el archivo de registro. A continuación se muestra una sintaxis simple

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

La siguiente tabla enumera los cinco modos de registro admitidos.

NúmeroValores de PRAGMA y descripciones
1

ELIMINAR

Este es el modo predeterminado. Al finalizar la transacción, se elimina el archivo de registro.

2

TRUNCAR

El archivo de registro se trunca a la longitud de cero bytes.

3

PERSISTIR

El archivo de registro se mantiene en su lugar, pero el título se sobrescribe para indicar que el registro ya no es válido.

4

MEMORIA

El registro de日记 se almacena en memoria en lugar de en disco.

5

DESACTIVADO

No mantener el registro de日记。

max_page_count PRAGMA

max_page_count PRAGMA obtiene o configura el número máximo de páginas permitido para la base de datos. A continuación se muestra una sintaxis simple

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

El valor predeterminado es1,073,741,823es decir, una página de gigabyte, lo que significa que si se configura por defecto1 KB Tamaño de página, la base de datos puede crecer hasta1 TB.

page_count PRAGMA

page_count PRAGMA devuelve el número de páginas actual de la base de datos. A continuación se muestra una sintaxis simple-

PRAGMA [database.]page_count;

El tamaño del archivo de base de datos debe ser page_count * tamaño_de_pagina。

tamaño_de_pagina PRAGMA

tamaño_de_pagina PRAGMA obtiene o establece el tamaño de página de la base de datos. A continuación, se muestra la sintaxis simple.

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

Por defecto, el tamaño permitido es512、1024、2048、4096、8192、16384y32768Bytes. El único método para cambiar el tamaño de página de una base de datos existente es establecer el tamaño de página y luego ejecutar VACUUM inmediatamente.

PRAGMA parser_trace

parser_trace PRAGMA indica el control de la impresión del estado de depuración, ya que analiza comandos SQL. A continuación, se muestra la sintaxis simple.

PRAGMA parser_trace = [true|false];

Por defecto, se establece en false, pero cuando se habilita estableciendo en true, el analizador SQL imprimirá su estado mientras analiza comandos SQL.

PRAGMA recursive_triggers

recursive_triggers PRAGMA obtiene o establece la función de disparadores recursivos. Si no se habilitan los disparadores recursivos, las operaciones de disparador no desencadenarán otro disparador. A continuación, se muestra la sintaxis simple.

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

PRAGMA schema_version

schema_version PRAGMA obtiene o establece el valor de la versión de la estructura almacenada en la cabecera de la base de datos. A continuación, se muestra la sintaxis simple.

PRAGMA [database.]schema_version;
PRAGMA [database.]schema_version = número;

Esto es32Entero de signo con bits, utilizado para rastrear cambios en la estructura. Cada vez que se ejecuta un comando de cambio de modo (por ejemplo, CREATE ... o DROP ...), este valor aumenta.

PRAGMA secure_delete

secure_delete PRAGMA se utiliza para controlar cómo se elimina el contenido de la base de datos. A continuación, se muestra la sintaxis simple.

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

El valor predeterminado de la marca de eliminación segura generalmente es off, pero se puede cambiar el valor predeterminado utilizando la opción de construcción SQLITE_SECURE_DELETE.

PRAGMA sql_trace

sql_trace PRAGMA se utiliza para volcar los resultados del seguimiento SQL al pantalla. A continuación, se muestra la sintaxis simple.

PRAGMA sql_trace;
PRAGMA sql_trace = [verdadero|falso];

Es necesario compilar SQLite con la instrucción SQLITE_DEBUG para incluir esta indicación de compilación.

PRAGMA synchronous

synchronous PRAGMA obtener o establecer el modo de sincronización de disco actual, que controla cómo SQLite escribe activamente los datos en el almacenamiento físico. A continuación, se muestra la sintaxis simple.

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

SQLite admite los siguientes modos de sincronización enumerados en la tabla siguiente.

NúmeroValores de PRAGMA y descripciones
1

0 o OFF

Ninguna sincronización en absoluto

2

1 o NORMAL

Sincronización después de cada secuencia de operaciones de disco crítica

3

2 o FULL

Sincronización después de cada operación de disco crítica

PRAGMA temp_store

temp_store PRAGMA obtener o establecer el modo de almacenamiento utilizado por los archivos de base de datos temporales. A continuación, se muestra la sintaxis simple.

PRAGMA temp_store;
PRAGMA temp_store = modo;

SQLite admite los siguientes modos de almacenamiento.

NúmeroValores de PRAGMA y descripciones
1

0 o DEFAULT

Usar el valor predeterminado de compilación. Generalmente es FILE.

2

1 o FILE

Usar almacenamiento basado en archivos.

3

2 o MEMORY

Usar almacenamiento basado en memoria.

PRAGMA temp_store_directory

temp_store_directory PRAGMA obtener o establecer la ubicación utilizada para los archivos de base de datos temporales. A continuación, se muestra la sintaxis simple.

PRAGMA temp_store_directory;
PRAGMA temp_store_directory = 'ruta_del_directorio';

PRAGMA user_version

user_versionIndicaciones de compilación para obtener o establecer el valor de versión definido por el usuario almacenado en la cabecera de la base de datos. A continuación, se muestra la sintaxis simple.

PRAGMA [database.]user_version;
PRAGMA [database.]user_version = número;

Esto es32El valor entero con signo, los desarrolladores pueden establecer este valor con fines de seguimiento de versión.

PRAGMA writable_schema

writable_schemaCompilar para obtener o establecer la capacidad de modificar las tablas del sistema. A continuación, se muestra una sintaxis simple.

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

Si se ha configurado esta indicación de compilación, se pueden crear y modificar tablas que comiencen con sqlite_, incluida la tabla sqlite_master. Tenga cuidado al usar la indicación de compilación, ya que puede llevar a la completa destrucción de la base de datos.