SQLiteでは、sqlite_schema
をクエリできます 特定のテーブルが存在するかどうかを確認するためのテーブル。
SQLiteバージョン3.33.0より前は、このテーブルはsqlite_master
と呼ばれていました。 (下位互換性のために、以降のリリースでは引き続きそのように参照できます)。
例
デモンストレーションの例を次に示します。
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Customers'
);
結果:
1
この場合、テーブルが存在し、1
返されます。
テーブルが存在しない場合の例を次に示します。
SELECT EXISTS (
SELECT
name
FROM
sqlite_schema
WHERE
type='table' AND
name='Inventory'
);
結果:
0
sqlite_master
表
sqlite_master
を使用して同じクエリを実行できます sqlite_schema
の代わりに :
SELECT EXISTS (
SELECT
name
FROM
sqlite_master
WHERE
type='table' AND
name='Customers'
);
結果:
1
sqlite_temp_schema
を使用することもできます またはsqlite_temp_master
、ただし、これらはTEMP
でのみ機能します 各データベース接続に関連付けられたデータベース。