SQL Server에서 ALTER TABLE 문은 테이블에 열(컬럼)을 추가하거나, 기존 열을 수정·삭제하고, 열 또는 테이블의 이름을 변경할 때 사용하는 핵심 DDL(Data Definition Language) 명령어입니다. 이 글에서는 ALTER TABLE 문의 다양한 활용 방법을 문법과 예제를 통해 자세히 살펴보겠습니다.
SQL Server에서 테이블에 열 추가하기
문법
ALTER TABLE ten_bang ADD ten_cot dinh_nghia_cot;
예제
ALTER TABLE nhanvien ADD ho VARCHAR(50);
위의 ALTER TABLE 문은 nhanvien 테이블에 ho라는 새로운 열을 추가합니다.
SQL Server에서 테이블에 여러 개의 열 추가하기
문법
ALTER TABLE ten_bang
ADD cot1 dinh_nghia_cot,
cot2 dinh_nghia_cot,
...
cot_n dinh_nghia_cot;
예제
ALTER TABLE nhanvien
ADD ho VARCHAR(50),
ten VARCHAR(40);
위 예제의 ALTER TABLE 문은 nhanvien 테이블에 VARCHAR(50) 타입의 ho 열과 VARCHAR(40) 타입의 ten 열, 두 개의 열을 동시에 추가합니다.
SQL Server에서 테이블의 열 수정하기
문법
ALTER TABLE ten_bang ALTER COLUMN ten_cot kieu_cot;
예제
ALTER TABLE nhanvien ALTER COLUMN ho VARCHAR(75) NOT NULL;
위 명령어는 ho 열의 데이터 타입을 VARCHAR(75)로 변경하고, NULL 값을 허용하지 않도록 설정합니다.
SQL Server에서 테이블의 열 삭제하기
문법
ALTER TABLE ten_bang DROP COLUMN ten_cot;
예제
ALTER TABLE nhanvien DROP COLUMN ho;
위의 ALTER TABLE 문은 nhanvien 테이블에서 ho 열을 삭제합니다.
SQL Server에서 테이블의 열 이름 변경하기
ALTER TABLE 명령으로는 열 이름을 직접 변경할 수 없으며, 대신 sp_rename 저장 프로시저를 사용해야 합니다. 다만 Microsoft는 스크립트나 저장 프로시저가 손상되지 않도록, 기존 열을 삭제한 후 새로 만드는 방식을 공식적으로 권장하고 있습니다.
문법
sp_rename 'ten_bang.ten_cot_cu', 'ten_cot_moi', 'COLUMN';
예제
sp_rename 'nhanvien.ho', 'honhanvien', 'COLUMN';
위 예제는 sp_rename을 사용하여 nhanvien 테이블의 ho 열 이름을 honhanvien으로 변경합니다.
SQL Server에서 테이블 이름 변경하기
SQL Server에서는 ALTER TABLE 명령으로 테이블 이름을 변경할 수 없습니다. 대신 sp_rename을 사용할 수 있지만, Microsoft는 스크립트와 저장 프로시저가 손상되지 않도록 테이블을 삭제한 후 다시 생성하는 방법을 권장합니다.
문법
sp_rename 'ten_bang_cu', 'ten_bang_moi';
예제
sp_rename 'nhanvien', 'nv';
위 명령어는 nhanvien 테이블의 이름을 nv로 변경합니다.