English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O comando PRAGMA do SQLite é um comando especial usado para controlar várias variáveis de ambiente e sinalizadores de estado no ambiente do SQLite. Os valores do PRAGMA podem ser lidos e também podem ser configurados conforme necessário.
Para consultar o valor atual do PRAGMA, forneça apenas o nome da instrução de compilação.
PRAGMA pragma_name;
Para definir um novo valor para PRAGMA, use a seguinte sintaxe.
PRAGMA pragma_name = valor;
O modo pode ser um nome ou um inteiro equivalente, mas o valor retornado sempre é um inteiro.
auto_vacuum O PRAGMA obtém ou define o modo de vácuo automático. A seguir está a sintaxe simples.
PRAGMA [database.]auto_vacuum; PRAGMA [database.]auto_vacuum = modo;
A seguir, ondemodoPode-
Número | Valores e descrições do PRAGMA |
---|---|
1 | 0 ou NONE Auto-O vacuum está desativado. Este é o modo padrão, o que significa que, a menos que o comando VACUUM seja usado manualmente para limpar, o tamanho do arquivo do banco de dados nunca diminuirá. |
2 | 1 ou FULL Auto vacuum ativado-vacuum e é completamente automático, ao excluir dados do banco de dados, ele permite que o arquivo do banco de dados encolha. |
3 | 2 ou INCREMENTAL Auto-O vacuum está habilitado, mas deve ser ativado manualmente. Neste modo, os dados de referência serão mantidos, mas as páginas livres simplesmente ficarão na lista de páginas livres. Essas páginas podem ser usadas a qualquer momentoincremental_vacuum pragma. |
cache_sizeA compilação pode obter ou temporariamente definir o tamanho máximo da cache de páginas na memória. A seguir está a sintaxe simples.
PRAGMA [database.]cache_size; PRAGMA [database.]cache_size = pages;
pagesO valor representa o número de páginas na cache. O tamanho padrão da cache de páginas interna é2, com o tamanho mínimo de10páginas.
case_sensitive_like pragma controla a sensibilidade à maiúsculas e minúsculas das expressões LIKE internas. Por padrão, este pragma é false, o que significa que o operador LIKE interno ignora a maiúsculas e minúsculas. A seguir está a sintaxe simples.
PRAGMA case_sensitive_like = [true|false];
Não é possível consultar o estado atual deste sinalizador de compilação.
count_changes pragma obtém ou define o valor de retorno das sentenças de operação de dados (por exemplo, INSERT, UPDATE e DELETE). A seguir está a sintaxe simples.
PRAGMA count_changes; PRAGMA count_changes = [true|false];
Por padrão, esta instrução de compilação é false e essas sentenças não retornam nenhum conteúdo. Se definido como true, cada sentença mencionada retornará uma tabela de uma coluna e uma linha, consistindo em um valor inteiro único que indica o número de linhas afetadas pela operação.
database_listEste utilitário será usado para listar todos os bancos de dados adicionais. A seguir está a sintaxe simples.
PRAGMA database_list;
Este utilitário retornará uma tabela de três colunas, com uma linha para cada banco de dados aberto ou conectado, fornecendo o número sequencial do banco de dados, seu nome e o arquivo associado.
encoding pragma controla como a string de controle é codificada e armazenada no arquivo do banco de dados. A seguir está a sintaxe simples.
PRAGMA encoding; PRAGMA encoding = format;
O valor do formato pode serUTF-8, UTF-16ououUTF-16serum dos
freelist_count Pragma retorna um inteiro que indica como muitas páginas de banco de dados estão atualmente marcadas como livres e disponíveis. A seguir está a sintaxe simples.
PRAGMA [database.]freelist_count;
O valor do formato pode serUTF-8, UTF-16ouUTF-16serum dos
index_info Pragma retorna informações sobre os índices do banco de dados. A seguir está uma sintaxe simples
PRAGMA [database.]index_info(index_name);
O conjunto de resultados conterá uma linha para cada coluna contida no índice, fornecendo a ordem da coluna, o índice da coluna na tabela e o nome da coluna.
index_list Pragma lista todos os índices associados à tabela. A seguir está uma sintaxe simples
PRAGMA [database.]index_list(table_name);
O conjunto de resultados conterá uma linha para cada índice, fornecendo a sequência do índice, o nome do índice e o sinal de que o índice é único.
journal_mode OPragma obtém ou define o modo de log que controla como os arquivos de log são armazenados e tratados. A seguir está uma sintaxe simples
PRAGMA journal_mode; PRAGMA journal_mode = mode; PRAGMA database.journal_mode; PRAGMA database.journal_mode = mode;
A tabela a seguir lista os cinco modos de diary suportados.
Número | Valores e descrições do PRAGMA |
---|---|
1 | DELETE Este é o modo padrão. No final da transação, os arquivos de diary são excluídos. |
2 | TRUNCATE Os arquivos de diary são truncados para zero bytes de comprimento. |
3 | PERSIST Os arquivos de diary são mantidos no local, mas o título é substituído para indicar que o diary não é mais válido. |
4 | MEMORY Os registros de diary são armazenados na memória, não no disco. |
5 | OFF Não manter registros de diary. |
max_page_count O PRAGMA obtém ou define o número máximo de páginas permitido para o banco de dados. A seguir está uma sintaxe simples
PRAGMA [database.]max_page_count; PRAGMA [database.]max_page_count = max_page;
O valor padrão é1,073,741,823Isso é um gigabyte de página, o que significa que, se o padrão padrão for1 Se o tamanho da página for KB, o banco de dados pode crescer até1 TB.
page_count O PRAGMA retorna o número atual de páginas do banco de dados. A seguir está uma sintaxe simples-
PRAGMA [database.]page_count;
O tamanho do arquivo de banco de dados deve ser page_count * page_size。
page_size O PRAGMA obtém ou define o tamanho da página do banco de dados. A seguir está a sintaxe simples.
PRAGMA [database.]page_size; PRAGMA [database.]page_size = bytes;
O tamanho permitido por padrão é512、1024、2048、4096、8192、16384e32768bytes. A única maneira de alterar o tamanho da página de um banco de dados existente é ajustar o tamanho da página e, em seguida, executar o VACUUM imediatamente no banco de dados.
parser_trace O PRAGMA indica o controle da impressão do estado de depuração, porque ele analisa comandos SQL. A seguir está a sintaxe simples.
PRAGMA parser_trace = [true|false];
Por padrão, ele é configurado como false, mas quando ativado definindo-o como true, o analisador SQL imprimirá seu estado ao analisar comandos SQL.
recursive_triggers O PRAGMA obtém ou define a função de gatilhos recursivos. Se os gatilhos recursivos não forem ativados, as operações de gatilho não desencadearão outro gatilho. A seguir está a sintaxe simples.
PRAGMA recursive_triggers; PRAGMA recursive_triggers = [true|false];
schema_version O PRAGMA obtém ou define o valor da versão da arquitetura armazenada no cabeçalho do banco de dados. A seguir está a sintaxe simples.
PRAGMA [database.]schema_version; PRAGMA [database.]schema_version = number;
Este é32Um valor inteiro de sinalizado de bits, usado para rastrear alterações na arquitetura. Cada vez que um comando de mudança de modo é executado (por exemplo, CREATE ... ou DROP ...), este valor é aumentado.
secure_delete O PRAGMA é usado para controlar como o conteúdo é excluído do banco de dados. A seguir está a sintaxe simples.
PRAGMA secure_delete; PRAGMA secure_delete = [true|false]; PRAGMA database.secure_delete; PRAGMA database.secure_delete = [true|false];
O valor padrão da marca de exclusão segura geralmente é off, mas pode ser alterado usando a opção de construção SQLITE_SECURE_DELETE.
sql_trace PRAGMA usado para despejar os resultados do rastreamento SQL na tela. Abaixo está a sintaxe simples.
PRAGMA sql_trace; PRAGMA sql_trace = [true|false];
É necessário compilar o SQLite com a instrução SQLITE_DEBUG para incluir esta indicação de compilação.
synchronous PRAGMA obter ou definir o modo de sincronização de disco atual, controlando como o SQLite escreve ativamente dados para o armazenamento físico. Abaixo está a sintaxe simples.
PRAGMA [banco_de_dados.]synchronous; PRAGMA [banco_de_dados.]synchronous = modo;
SQLite suporta os seguintes modos de sincronização listados na tabela a seguir.
Número | Valores e descrições do PRAGMA |
---|---|
1 | 0 ou OFF Nenhuma sincronização |
2 | 1 ou NORMAL Sincronização após cada sequência de operações de disco crítica |
3 | 2 ou FULL Sincronização após cada operação de disco crítica |
temp_store PRAGMA obter ou definir o modo de armazenamento utilizado pelos arquivos de banco de dados temporários. Abaixo está a sintaxe simples.
PRAGMA temp_store; PRAGMA temp_store = modo;
SQLite suporta os seguintes modos de armazenamento.
Número | Valores e descrições do PRAGMA |
---|---|
1 | 0 ou DEFAULT Usar o valor padrão de compilação. Geralmente é FILE. |
2 | 1 ou FILE Usar armazenamento baseado em arquivo. |
3 | 2 ou MEMORY Usar armazenamento baseado em memória. |
temp_store_directory PRAGMA obter ou definir o local utilizado para arquivos de banco de dados temporários. Abaixo está a sintaxe simples.
PRAGMA temp_store_directory; PRAGMA temp_store_directory = 'caminho_do_diretório';
user_versionIndicação de compilação para obter ou definir o valor da versão definida pelo usuário armazenado no cabeçalho do banco de dados. Abaixo está a sintaxe simples.
PRAGMA [banco_de_dados.]user_version; PRAGMA [banco_de_dados.]user_version = número;
Este é32Valor inteiro com sinal, os desenvolvedores podem configurar este valor para fins de rastreamento de versão.
writable_schemaCompilar para obter ou definir a capacidade de modificar as tabelas do sistema. Aqui está uma sintaxe simples.
PRAGMA writable_schema; PRAGMA writable_schema = [true|false];
Se este sinal de compilação foi definido, é possível criar e modificar tabelas começando com sqlite_, incluindo a tabela sqlite_master. Use o sinal de compilação com cautela, pois pode levar a danos completos no banco de dados.