메인 콘텐츠로 건너뛰기

테이블에 컬럼 추가하기

여기서는 clickhouse-local을 사용합니다:
다음과 같은 테이블이 있다고 가정해 보겠습니다:
레코드 1개를 추가해 보겠습니다:
이제 events 테이블에 쿼리를 실행하세요:

새 컬럼 추가

이제 Float64 타입의 favoriteNumber라는 새 컬럼을 추가해 보겠습니다. 이는 ALTER TABLE...ADD COLUMN 절을 사용해 수행할 수 있습니다:
events 테이블을 쿼리하면 다음과 같은 출력이 표시됩니다:
Alexey 행은 해당 행을 추가할 당시 그 컬럼이 존재하지 않았으므로 기본값이 7로 설정됩니다. 다음으로 다른 컬럼을 하나 추가해 보겠습니다:
events 테이블을 쿼리하면 다음과 같은 출력이 표시됩니다:

컬럼 기본값 수정

ALTER TABLE...MODIFY COLUMN 절을 사용해 favoriteNumber 컬럼의 데이터 유형을 다르게 변경하면 흥미로운 상황이 발생합니다:
events를 다시 쿼리하면 다음 출력이 표시됩니다:
Tyler는 해당 행이 생성될 때의 기본값이었던 7을 유지합니다. Alexey는 해당 행이 생성될 때 favoriteNumber 컬럼이 존재하지 않았기 때문에 새로운 기본값 99를 사용합니다. Alexey 행이 즉시 현재 기본값을 사용하게 하려면, 현재 기본값이 디스크에 기록되도록 OPTIMIZE TABLE 을 호출해야 합니다:
이렇게 한 뒤, 기본값을 다시 변경한다고 가정해 보겠습니다:
그런 다음 다른 행을 하나 더 삽입합니다:
마지막으로, events에 다시 한 번 쿼리해 보겠습니다:
Tanya는 새로운 기본값인 21을 사용하지만, Alexey는 기존 기본값인 99를 사용합니다.

테이블에서 컬럼 위치 제어

새 컬럼을 추가하면 기본적으로 테이블 맨 끝에 추가됩니다. 하지만 FIRSTAFTER 절을 사용하면 컬럼의 위치를 제어할 수 있습니다. 예를 들어, name 컬럼 뒤에 favoriteColor라는 컬럼을 추가하려면 다음과 같이 합니다:
이제 events를 쿼리해 보겠습니다:
그리고 favoriteDatabase 컬럼을 추가해 목록의 맨 앞에 오도록 하려면 다음과 같이 하면 됩니다:
이제 table definition을 살펴보겠습니다:
마지막 수정일 2026년 6월 29일