ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

【DB】ClickHouse で特定のテーブルが存在するかどうかを確認

ClickHouse で特定のテーブルが存在するかどうかを確認する方法をここにメモします。

system.tables から検索

クエリ

結果が1件以上返ってくれば存在します。

SELECT 
    database, 
    name, 
    engine
FROM system.tables
WHERE database = '{{__database__}}' 
  AND name = '{{__table__}}';

EXISTS 文を使う

存在するかどうかだけを 1(存在する)か 0(存在しない)で返してくれます。

-- データベース.テーブル名 の形式
EXISTS TABLE {{__database__}}.{{__table__}};

SHOW TABLES を使う

特定のデータベース内のテーブルを一覧表示して、LIKE句で絞り込みます。

SHOW TABLES FROM {{__database__}} LIKE '{{__table__}}';