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

SQLiteにテーブルが存在するかどうかを確認する方法

    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でのみ機能します 各データベース接続に関連付けられたデータベース。


    1. MySQL階層再帰クエリを作成するにはどうすればよいですか?

    2. MySQLデータベースのバックアップと復元(エクスポートとインポート)の方法チュートリアル

    3. SQL Server(T-SQL)で「date」を「datetimeoffset」に変換する例

    4. PostgreSQL移行用のトップオープンソースツール