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 件のコメント:
コメントを投稿