Список системных таблиц в SQLite - PullRequest
11 голосов
/ 18 мая 2010

Я пытаюсь отфильтровать все таблицы в базе данных SQLite на основе того, являются ли они системными или сгенерированными пользователем.

До сих пор я узнал, что они с префиксом sqlite_ и AllDataTypes.

Кто-нибудь делал что-то подобное? Есть ли их список?

Заранее спасибо.

Ответы [ 3 ]

17 голосов
/ 18 мая 2010

Существует только одна системная таблица, которая имеет какое-либо значение.

select * from sqlite_master

но вы можете получить некоторую полезную информацию от sqlite_sequence,

7 голосов
/ 13 сентября 2010

Я думаю, это можно отфильтровать по имени (как вы уже сделали)

Я использовал скрипт

SELECT 
  name, type
FROM 
  sqlite_master
WHERE 
  type in ('table', 'view')
AND 
  name not like 'sqlite?_%' escape '?'
1 голос
/ 06 октября 2015

sqlite_autoindex_TABLE_N - который будет иметь ограничения информации UNIQUE и PRIMARY KEY для обычной таблицы.

sqlite_statN - где N будет целым числом. Такие таблицы хранят статистику базы данных, собранную командой ANALYZE и используемую планировщиком запросов, чтобы помочь определить оптимальный алгоритм для каждого запроса.

Источник: https://www.sqlite.org/fileformat2.html

sqlite_user - эта таблица будет присутствовать, если мы настроим базу данных, требующую аутентификации.

Источник: http://www.sqlite.org/src/doc/trunk/ext/userauth/user-auth.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...