SQLite

2010-05-18 30 views
11

sistem tablolarının listesi Sistem tabloları veya kullanıcı tarafından oluşturulmuş olanlar olup olmadığını temel alarak tüm tabloları bir SQLite veritabanında filtrelemeye çalışıyorum.SQLite

Şimdiye kadar sqlite_ öneki ve AllDataTypes ile olanları öğrendim.

Böyle bir şey yapan oldu mu? Bunların bir listesi var mı?

Şimdiden teşekkürler.

cevap

17

Herhangi bir sonuçtan yalnızca bir sistem tablosu var.

select * from sqlite_master 

ancak sqlite_sequence bazı yararlı bilgiler alabilirsiniz,

+0

Evet, ama hepsini filtre gerekir. Tüm sistem dışı tabloları almak için gerekli araçlara sahip olmak zorundayım. – sovanesyan

+1

ayrıca "sqlite_temp_master" var –

7

Senaryonun (zaten bitmiş gibi)

ben kullandım o isim tarafından filtre edilebilir düşünüyorum

SELECT 
    name, type 
FROM 
    sqlite_master 
WHERE 
    type in ('table', 'view') 
AND 
    name not like 'sqlite?_%' escape '?' 
1

sqlite_autoindex_TABLE_N - hangi normal tablo üzerinde BENZERSİZ ve PRİMARY ANAHTAR kısıtlamaları bilgi sahibi olacak. N'nin bir tamsayı olduğu yerde olacaktır. Bu tür tablolar, ANALYZE komutu tarafından toplanan ve her sorgu için kullanılacak en iyi algoritmayı belirlemeye yardımcı olması amacıyla sorgu planlayıcısı tarafından kullanılan veritabanı istatistiklerini depolar.

Kaynak: https://www.sqlite.org/fileformat2.html

sqlite_user - biz kimlik doğrulama-Gerekli veritabanı ayarlamak, bu tablo, mevcut olacak.

Kaynak: http://www.sqlite.org/src/doc/trunk/ext/userauth/user-auth.txt