ALTER TABLE
ALTER TABLE 명령문은 기존 테이블의 열을 추가, 삭제 또는 수정하는 데 사용된다.
또한 이 ALTER TABLE 명령문은 기존 테이블에 다양한 제약 조건을 추가 및 삭제하는 데 사용된다.
구문
열 추가
테이블에 열을 추가하려면 다음 구문을 사용하자.
ALTER TABLE table_name ADD column_name datatype;
“Customers” 테이블에 “Email” 열을 추가
ALTER TABLE Customers ADD Email varchar(255);
열 삭제
테이블에서 열을 삭제하려면 다음 구문을 사용하자.
일부 데이터베이스 시스템에서는 열 삭제를 허용하지 않는다.
ALTER TABLE table_name DROP COLUMN column_name;
“Customers” 테이블에서 “Email” 열을 삭제
ALTER TABLE Customers DROP COLUMN Email;
열 변경/수정
테이블에서 열의 데이터 유형을 변경하려면 다음 구문을 사용하자.
SQL 서버/MS 액세스:
ALTER TABLE table_name ALTER COLUMN column_name datatype;
My SQL/Oracle(10G 이전 버전):
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
Oracle 10G 이상:
ALTER TABLE table_name MODIFY column_name datatype;
데이터베이스 예시
ID | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
예시
“Persons” 테이블에 “DateOfBirth”라는 열을 추가
ALTER TABLE Persons ADD DateOfBirth date;
새 열 “DateOfBirth”는 날짜 유형이고 날짜를 보유하게 된다.
데이터 유형은 열이 보유할 수 있는 데이터 유형을 지정한다.
MS Access, MySQL 및 SQL Server에서 사용할 수 있는 모든 데이터 유형에 대한 전체 참조를 보려면 SQL - 데이터 유형을 참조하자.
기본 예시
ID | LastName | FirstName | Address | City | DateOfBirth |
---|---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes | |
2 | Svendson | Tove | Borgvn 23 | Sandnes | |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
“Persons” 테이블에서 “DateOfBirth”라는 열의 데이터 유형 변경
ALTER TABLE Persons ALTER COLUMN DateOfBirth year;
“DateOfBirth” 열은 이제 연도 유형이며 2자리 또는 4자리 형식으로 연도를 보유하게된다.
“Persons” 테이블에서 “DateOfBirth”라는 열을 삭제
ALTER TABLE Persons DROP COLUMN DateOfBirth;
기본 예시
ID | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
참고
W3C School - SQL ALTER TABLE Statement
W3C School - SQL Tutorial