2017-05-22 11 views
0

Ich habe eine Datenbank in SQLLite und es hat fast 140 Tabellen und viele Spalten. Und ich weiß nicht, welche Tabelle welche Spalte enthalten Ich habe eine spezifische Anforderung, nach dem spezifischen Spaltennamen zu suchen.Sqllite Suche Spaltenname in db

Zum Beispiel habe ich eine Datenbank namens msg. Und es hat fast 100 Tabellen nach vielen Versuchen Ich bin nicht in der Lage, genaue Spaltennamen wie ich suchen Localid in db von allen Tabellen finden. Ich benutze Sqllitestudio, um die db zu sehen.

Meine Frage ist, kann ich nur nach einem Spaltennamen suchen und in welcher Tabelle oder in wie vielen Tabellen diese bestimmte Spalte existiert.

Antwort

1

Starten Sie das Befehlszeilentool sqlite.
Fragen Sie die "Tabelle der Tabellen" über alles, was "localid" in der Erstellungsanweisung erwähnt.

create table toy1 (thisid int, aletter char(1), anotherint int); 
create table toy2 (globalid int, aletter char(1), localid int); 
select * from sqlite_master where sql like '% localid %'; 

Ausgang (mit .headers on, in SQLite 3.18.0):

type  name  tbl_name rootpage sql 
---------- ---------- ---------- ---------- -------------------------------------------------------------- 
table  toy2  toy2  3   CREATE TABLE toy2 (globalid int, aletter char(1), localid int) 

Bearbeiten Sie die "where" -Klausel der Filter fester oder großzügigere zu machen, je nachdem, was Sie brauchen.