概要 :このチュートリアルでは、SQLiteでテーブルの構造を表示するさまざまな方法について学習します。
SQLiteコマンドラインシェルプログラムを介してテーブルの構造を取得する
SQLiteコマンドラインシェルプログラムを介してテーブルの構造を見つけるには、次の手順に従います。
まず、SQLiteコマンドラインシェルプログラムを介してデータベースに接続します。
sqlite3 c:\sqlite\db\chinook.db
Code language: SQL (Structured Query Language) (sql)
次に、次のコマンドを発行します。
.schema table_name
Code language: SQL (Structured Query Language) (sql)
たとえば、次のコマンドは、albums
を作成したステートメントを示しています。 テーブル:
.schema albums
Code language: SQL (Structured Query Language) (sql)
セミコロンがないことに注意してください(;
)テーブル名の後。セミコロンを追加した場合(;
)、.schema
albums;
を検討します テーブル名として、テーブルがalbums;
であるため、何も返しません。 存在しません。
出力は次のとおりです:
CREATE TABLE IF NOT EXISTS "albums"
(
[AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL,
[ArtistId] INTEGER NOT NULL,
FOREIGN KEY ([ArtistId]) REFERENCES "artists" ([ArtistId])
ON DELETE NO ACTION ON UPDATE NO ACTION
);
CREATE INDEX [IFK_AlbumArtistId] ON "albums" ([ArtistId]);
Code language: SQL (Structured Query Language) (sql)
テーブルの構造を表示する別の方法は、PRAGMA
を使用することです。 指図。これを行うには、次のコマンドを使用して出力をフォーマットします。
.header on
.mode column
Code language: SQL (Structured Query Language) (sql)
そして、PRAGMA
を使用します 次のようにコマンドを実行します:
pragma table_info('albums');
Code language: JavaScript (javascript)
次の図は出力を示しています:
cid name type notnull dflt_value pk
--- -------- ------------- ------- ---------- --
0 AlbumId INTEGER 1 1
1 Title NVARCHAR(160) 1 0
2 ArtistId INTEGER 1 0
SQLステートメントを使用してテーブルの構造を取得する
sqlite_schema
からクエリを実行すると、テーブルの構造を見つけることができます。 次のような表:
SELECT sql
FROM sqlite_schema
WHERE name = 'albums';
Code language: SQL (Structured Query Language) (sql)
出力は次のとおりです:
sql
------------
CREATE TABLE "albums"
(
[AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL,
[ArtistId] INTEGER NOT NULL,
FOREIGN KEY ([ArtistId]) REFERENCES "artists" ([ArtistId])
ON DELETE NO ACTION ON UPDATE NO ACTION
)
Code language: SQL (Structured Query Language) (sql)
このチュートリアルでは、コマンドラインシェルプログラムまたはSQLステートメントを使用してSQLiteでテーブルの構造を表示する方法を学習しました。