SQLite の学習を始めたばかりです。 MySQLのDESCRIBE [table]
のようにテーブルの詳細を見ることができればうれしいです。 PRAGMA table_info [table]
は基本的な情報しか持っていないので十分ではありません(たとえば、列がある種のフィールドであるかどうかは表示されません)。 SQLiteにはこれを行う方法がありますか?
SQLiteコマンドラインユーティリティ には、createステートメントを表示する.schema TABLENAME
コマンドがあります。
PRAGMA table_info([tablename]);
あなたはテーブルを生成するために使われるSQLを探していますか?そのためには、 sqlite_master
テーブルに問い合わせることができます :
sqlite> CREATE TABLE foo (bar INT, quux TEXT);
sqlite> SELECT * FROM sqlite_master;
table|foo|foo|2|CREATE TABLE foo (bar INT, quux TEXT)
sqlite> SELECT sql FROM sqlite_master WHERE name = 'foo';
CREATE TABLE foo (bar INT, quux TEXT)
すべてのテーブルを見るには:
.tables
特定のテーブルを見るには:
.schema [tablename]
他の答えへのコメントのいくつかによって人々が誤解されるのを防ぐために:
.schema
またはquery from sqlite_master
が何も出力しない場合は、存在しないtablename
を示します。これは、;
、.schema
の最後の.tables
セミコロンによっても引き起こされる可能性があります。 .schema
が機能しないことは非常にありそうもなく、そしてバグレポートはsqliteプロジェクトに提出されるべきです。... .schemaはコマンドラインからのみ使用できます。上記のコマンドは、ライブラリ(Python、C#など)を通じてクエリとして実行できます。 - Mark Rushakoff 2010年7月25日21:09
sqlite
は、言語がすべてのプログラムに対してwrapper
/library
を提供するよりもサポートされますプログラムの大部分が本質的に本質的に不完全である傾向がありますが、反対にsingle-source principle
を代行し、maintenance
を複雑にし、世界のデータの混乱を助長します。