メインコンテンツへスキップ

テーブルにカラムを追加する

clickhouse-local を使用します。
次のようなテーブルがあるとします。
レコードを1件追加しましょう:
次に、events テーブルに対してクエリを実行します:

新しいカラムの追加

ここで、Float64 型の favoriteNumber という新しいカラムを追加することにします。 これは ALTER TABLE...ADD COLUMN 句を使って実行できます。
events テーブルにクエリを実行すると、次の出力が表示されます:
Alexey の行では、その行を追加した時点ではそのカラムが存在していなかったため、デフォルト値は 7 になります。 次に、別のカラムを追加してみましょう。
events テーブルにクエリを実行すると、次の出力が表示されます。

カラムのデフォルト値の変更

ALTER TABLE...MODIFY COLUMN 句を使って favoriteNumber カラムを別の型に変更すると、少し複雑な挙動になります。
events に再度クエリを実行すると、次の出力が表示されます:
Tyler には値 7 が保持されます。これは、その行が作成された時点でのデフォルト値です。 Alexey には新しいデフォルト値 99 が適用されます。これは、その行が作成された時点では favoriteNumber カラムが存在していなかったためです。 Alexey の行に現在のデフォルト値をすぐ反映させたい場合は、現在のデフォルト値をディスクに書き込むよう強制するため、OPTIMIZE TABLE を実行する必要があります:
それが済んだら、デフォルト値をもう一度変更するとします。
次に、別の行を挿入します:
最後に、events に対してもう一度クエリを実行してみましょう:
Tanya には新しいデフォルト値の 21 が適用されますが、Alexey には古いデフォルト値の 99 が適用されます。

テーブル内のカラムの位置を制御する

新しいカラムを追加すると、デフォルトではテーブルの末尾に追加されます。 ただし、FIRST 句と AFTER 句を使うことで、カラムを配置する位置を指定できます。 たとえば、name カラムの後に favoriteColor という名前のカラムを追加する場合は、次のようにします。
events にクエリを実行してみましょう:
また、favoriteDatabase カラムを追加して、それを一覧の先頭に表示したい場合は、次のようにします。
それでは、テーブル定義を見てみましょう。
最終更新日 2026年6月10日