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

SQLiteのPRAGMAtable_list

    SQLiteでは、table_list pragmaは、スキーマ内のテーブルとビューに関する情報を返します。

    SQLiteバージョン3.37.0(2021-11-27にリリース)で最初に導入されました。

    構文

    table_list pragmaは、次のいずれかの方法で使用できます。

    PRAGMA table_list;
    PRAGMA schema.table_list;
    PRAGMA table_list(table-name);

    schema は、テーブルとビューを一覧表示する特定のスキーマの名前です。

    そして、 table-name リストする特定のテーブルまたはビューの名前です。

    PRAGMA table_list;

    結果:

    schema  name                type   ncol  wr  strict
    ------  ------------------  -----  ----  --  ------
    main    sqlite_schema       table  5     0   0     
    temp    sqlite_temp_schema  table  5     0   0     
    Store   Orders              table  2     0   1     
    Store   Customers           table  4     1   1     
    Store   Products            table  3     0   0     
    Store   Types               table  3     0   0     
    Store   Dogs                table  3     0   0     
    Store   Cats                table  3     0   0     
    Store   vProducts           view   3     0   0     
    Store   sqlite_schema       table  5     0   0     
    Pets    Events              table  4     0   0     
    Pets    Pets                table  3     0   0     
    Pets    Types               table  2     0   0     
    Pets    Cats                table  2     0   0     
    Pets    Dogs                table  2     0   0     
    Pets    sqlite_schema       table  5     0   0     

    テーブル名とビュー名がnameにリストされていることがわかります。 桁。 typeを見れば、それがテーブルなのかビューなのかを確認することもできます。 桁。そしてもちろん、スキーマ名はschemaにリストされています 列。

    ncol columnには、生成された列と非表示の列を含む、テーブル内の列の数が含まれます。

    wr 列は、テーブルがWITHOUT ROWIDで定義されているかどうかを示します オプション。この例では、Customers テーブルはWITHOUT ROWIDで定義されています 。

    strict 列は、テーブルがSTRICTで定義されているかどうかを示します オプション。このオプションは、 SQLiteバージョン3.37.0(table_listと同じバージョン)で導入されました。 pragmaが導入されました)。 この例では、Customers およびOrders テーブルはSTRICTで定義されています オプション。

    特定のデータベース内のすべてのテーブルを取得する

    特定のデータベース内のテーブルとビューのみを返すために、スキーマ名を含めることができます。

    PRAGMA Store.table_list;

    結果:

    schema  name           type   ncol  wr  strict
    ------  -------------  -----  ----  --  ------
    Store   Orders         table  2     0   1     
    Store   Customers      table  4     1   1     
    Store   Products       table  3     0   0     
    Store   Types          table  3     0   0     
    Store   Dogs           table  3     0   0     
    Store   Cats           table  3     0   0     
    Store   vProducts      view   3     0   0     
    Store   sqlite_schema  table  5     0   0     

    名前でテーブルを取得

    すべてのデータベースでその名前のすべてのテーブル/ビューを返すために、テーブル/ビューの名前を指定できます。

    PRAGMA table_list('Dogs');

    結果:

    schema  name  type   ncol  wr  strict
    ------  ----  -----  ----  --  ------
    Store   Dogs  table  3     0   0     
    Pets    Dogs  table  2     0   0     

    この場合、両方のStore およびPets スキーマには、Dogsというテーブルがあります 。


    1. MySQLの1つを除くすべての重複行を削除しますか?

    2. AWSでのOracleデータベースのMySQLへの移行、パート1

    3. ASP.NetでのSQLインジェクションの防止

    4. SQL ServerのLEN()とDATALENGTH()