sql >> データベース >  >> RDS >> SQLite

SQLite記述テーブル

    概要 :このチュートリアルでは、SQLiteでテーブルの構造を表示するさまざまな方法について学習します。

    SQLiteコマンドラインシェルプログラムを介してテーブルの構造を取得する

    SQLiteコマンドラインシェルプログラムを介してテーブルの構造を見つけるには、次の手順に従います。

    まず、SQLiteコマンドラインシェルプログラムを介してデータベースに接続します。

    sqlite3 c:\sqlite\db\chinook.dbCode language: SQL (Structured Query Language) (sql)

    次に、次のコマンドを発行します。

    .schema table_nameCode language: SQL (Structured Query Language) (sql)

    たとえば、次のコマンドは、albumsを作成したステートメントを示しています。 テーブル:

    .schema albumsCode 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 columnCode 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でテーブルの構造を表示する方法を学習しました。


    1. ルーム-外部SQLiteと内部DBの使用

    2. ORACLE /SQLServerのマイナスと例外の違い

    3. IntegrityError:一意性制約とnull以外の違反を区別する

    4. OracleCloudのMAAドキュメント