ALTER문은 기존의 엔터티 정의를 수정할 때 사용합니다. 여기서는 테이블 정의를 수정하는 ALTER TABLE을 살펴볼게요. ALTER TABLE 문을 이용하면 테이블의 열과 제약 조건 등을 추가, 삭제, 변경 등을 할 수 있습니다. 이 책에서는 간단하게 기존 테이블에 새로운 열을 추가하고 삭제 및 변경하는 쿼리문을 살펴볼게요.
▷ 열 변경
포멧:
ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
{
ALTER COLUMN column_name
{
[ type_schema_name. ] type_name [ ( { precision [ , scale ] | max | xml_schema_collection } ) ]
[ COLLATE collation_name ] [ NULL | NOT NULL ] [ SPARSE ] |
{ADD | DROP } { ROWGUIDCOL | PERSISTED | NOT FOR REPLICATION | SPARSE }
}
}[ ; ]
예:
ALTER TABLE Custom ALTER COLUMN ADDR varchar(200)
위 예는 Custom 테이블의 ADDR 열의 형식을 변경하는 쿼리문입니다.
▷ 열 추가
포멧:
ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
{
ADD
{
<column_definition>|<computed_column_definition>|<table_constraint>|<column_set_definition>
}
}[ ; ]
예:
ALTER TABLE Custom ADD Desciption varchar(100)
위 예는 Custom 테이블에 Description 열을 추가하는 쿼리문입니다.
▷ 열 삭제
포멧:
ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
{
DROP
{
[ CONSTRAINT ]
{
constraint_name
[ WITH ( <drop_clustered_constraint_option> [ ,…n ] ) ]
} [ ,…n ]
| COLUMN
{
column_name
} [ ,…n ]
} [ ,…n ]
}[;]
예:
ALTER TABLE Custom DROP COLUMN Desciption
위 예는 Custom 테이블의 Description 열을 삭제하는 쿼리문입니다.