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__}}';