티스토리 뷰

SQL 명령어 ALTER TABLE을 사용하여 테이블 변경하는 방법

SQL에서는 기존의 테이블을 변경해야 할 때가 있습니다. 테이블 변경은 ALTER TABLE 문을 사용하여 수행됩니다. ALTER TABLE 문은 기존 속성의 추가, 삭제, 제약조건의 추가 또는 삭제 등을 할 수 있습니다. 이번 글에서는 SQL 명령어 ALTER TABLE을 사용하여 테이블을 변경하는 방법에 대해 알아보겠습니다.



새로운 속성 추가


ALTER TABLE 문을 사용하여 기존 테이블에 새로운 속성을 추가할 수 있습니다. 다음과 같은 형식을 사용합니다:


ALTER TABLE 테이블_이름


ADD 속성_이름 데이터_타입 [NOT NULL] [DEFAULT 기본값];
예를 들어, '고객' 테이블에 '가입날짜'라는 DATETIME 타입의 속성을 추가하려면 다음과 같이 작성합니다:


ALTER TABLE 고객 ADD 가입날짜 DATETIME;

기존 속성 삭제


ALTER TABLE 문을 사용하여 기존 테이블에서 속성을 삭제할 수 있습니다. 다음과 같은 형식을 사용합니다:


ALTER TABLE 테이블_이름 DROP 속성_이름 CASCADE | RESTRICT;
CASCADE 옵션을 사용하면 관련 제약조건이나 다른 속성도 함께 삭제됩니다. RESTRICT 옵션을 사용하면 관련 제약조건이나 다른 속성이 존재하면 삭제되지 않습니다. 예를 들어, '고객' 테이블에서 '등급' 속성을 CASCADE 옵션을 사용하여 삭제하려면 다음과 같이 작성합니다:


ALTER TABLE 고객 DROP 등급 CASCADE;

새로운 제약조건 추가


ALTER TABLE 문을 사용하여 기존 테이블에 새로운 제약조건을 추가할 수 있습니다. 다음과 같은 형식을 사용합니다:


ALTER TABLE 테이블_이름
ADD CONSTRAINT 제약조건_이름 제약조건_내용;
예를 들어, '고객' 테이블에 '나이 >= 20'이라는 제약조건인 CHK_AGE를 추가하려면 다음과 같이 작성합니다:


ALTER TABLE 고객 ADD CONSTRAINT CHK_AGE CHECK (나이 >= 20);

기존 제약조건 삭제

ALTER TABLE 문을 사용하여 기존 테이블에서 제약조건을 삭제할 수 있습니다. 다음과 같은 형식을 사용합니다:


ALTER TABLE

테이블_이름 DROP CONSTRAINT 제약조건_이름;


예를 들어, '고객' 테이블에서 CHK_AGE라는 제약조건을 삭제하려면 다음과 같이 작성합니다:
ALTER TABLE 고객 DROP CONSTRAINT CHK_AGE;



SQL 명령어 ALTER TABLE을 사용하면 기존의 테이블을 변경할 수 있습니다. 새로운 속성을 추가하거나 기존 속성을 삭제하는 등의 작업을 할 수 있습니다. 또한, 새로운 제약조건을 추가하거나 기존의 제약조건을 삭제할 수도 있습니다. ALTER TABLE 문을 잘 활용하여 데이터베이스의 테이블을 유연하게 변경할 수 있습니다.

이상으로 SQL 명령어 ALTER TABLE을 사용하여 테이블을 변경하는 방법에 대해 알아보았습니다. 테이블을 변경할 때는 주의하여 진행해야 하며, 변경 작업 전에 데이터의 백업을 꼭 수행하는 것이 좋습니다.


- 테이블의 속성 변경

ALTER TABLE 테이블_이름 ALTER COLUMN 속성_이름 SET 데이터_타입;


- 제약조건 이름 변경

ALTER TABLE 테이블_이름 RENAME CONSTRAINT 기존_제약조건_이름 TO 새로운_제약조건_이름;


- 테이블 이름 변경

ALTER TABLE 기존_테이블_이름 RENAME TO 새로운_테이블_이름;

이러한 ALTER TABLE 문을 사용하여 테이블을 변경할 수 있으며, 필요에 따라 속성, 제약조건, 테이블의 이름 등을 유연하게 조정할 수 있습니다.