SQLite データベースのテーブル内の列のリストを取得するにはどうすればいいですか? 質問する

SQLite データベースのテーブル内の列のリストを取得するにはどうすればいいですか? 質問する

テーブル内の列のリストを取得したいと考えています。データベースは SQLite の最新リリース (3.6 だと思います) です。SQL クエリを使用してこれを実行するコードを探しています。列に関連するメタデータ (長さ、データ型など) があれば、さらにボーナス ポイントが付きます。

ベストアンサー1

あなたが探しているのは、データ ディクショナリと呼ばれるものです。sqlite では、sqlite_master テーブル (またはビュー?) をクエリすることで、すべてのテーブルのリストを見つけることができます。

sqlite> create table people (first_name varchar, last_name varchar, email_address varchar);
sqlite> select * from sqlite_master;
table|people|people|2|CREATE TABLE people (first_name varchar, last_name varchar, email_address varchar)

列情報を取得するには、次のステートメントを使用できますpragma table_info(table_name)

sqlite> pragma table_info(people);
0|first_name|varchar|0||0
1|last_name|varchar|0||0
2|email_address|varchar|0||0

プラグマステートメントの詳細については、ドキュメンテーション

おすすめ記事