Ответ 1
Существует только одна системная таблица, которая имеет какое-либо значение.
select * from sqlite_master
но вы можете получить полезную информацию от sqlite_sequence
,
Я пытаюсь отфильтровать все таблицы в базе данных SQLite на основе того, являются ли они системными таблицами или созданными пользователем.
До сих пор я узнал, что они с префиксом sqlite_ и AllDataTypes.
Кто-нибудь сделал что-то подобное? Есть ли их список?
Спасибо заранее.
Существует только одна системная таблица, которая имеет какое-либо значение.
select * from sqlite_master
но вы можете получить полезную информацию от sqlite_sequence
,
Я думаю, что он может быть отфильтрован по имени (как вы уже сделали)
Я использовал script
SELECT
name, type
FROM
sqlite_master
WHERE
type in ('table', 'view')
AND
name not like 'sqlite?_%' escape '?'
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