SQLite3のsql_masterテーブルのカラム

SQLite3でテーブル一覧を得る方法ために、以下のようにsqlite_masterテーブルを利用できます。
> select * from sqlite_master;
table|t1|t1|2|CREATE TABLE t1(id integer primary key, a integer, b integer)
index|i_b|t1|4|CREATE INDEX i_b ON t1(b)
index|i_ab|t1|5|CREATE INDEX i_ab ON t1(a,b)
このテーブルのカラムは、左から、以下のようになっています。
カラム名 説明
type tableかindex
name テーブル名、または、インデックス名
tbl_name テーブル名
root_page -
sql そのテーブル(またはインデックス)を作るためのSQLステートメント
ですので、ちょっとした応用として、where句などで条件を与えれば、任意のテーブルの情報を得ることができます。 例えば、以下は、(indexでなく)tableのみを出力します。
> select * from sqlite_master where type='table';

0 件のコメント: