강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

테이블 변경 SQL 구문

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

sub_title_icon.gif 테이블 변경 SQL 구문
1. 설치 시 확인 사항
테이블 이름은 RENAME 구문을 사용하여 변경할 수 있다.
1) 구문
RENAME [ TABLE | CLASS | VIEW | VCLASS] old_talbe_name AS new_table_name [ ; ]
icon_sub02.gif old_table_name : 테이블의 새로운 이름을 지정한다.
icon_sub02.gif new_table_name : 테이블의 새로운 이름을 지정한다.
2) 예제
icon_sub02.gif 다음은 stadium 테이블의 이름을 stadium_info로 변경하는 예제이다.
RENAME stadium AS stadium_info;
3) 주의 사항
테이블의 이름 변경은 테이블의 소유자, DBA, DBA의 멤버만이 할 수 있으며, 이 외의 사용자는 소유자나 DBA로부터 이름을 변경할 수 있는 권한을 받아야 한다.
2. 컬럼 및 제약 조건 변경
ALTER 구문을 이용하여 테이블의 컬럼 및 제약 조건을 추가, 변경, 삭제할 수 있다.
3. 컬럼 및 제약 조건 추가
컬럼 및 제약 조건은 ALTER 구문의 ADD [ATTRIBUTE | COLUMN] 예약어를 사용하여 추가할 수 있다.
1) 구문
ALTER [ table_type ] table_name
ADD [ ATTRIBUTE | COLUMN ] attr_definition | table_constraint_definition
[ { , attr_definition | class_constraint }_ ]
[ INHERIT resolution [ { , resolution }_ ] ] [ ; ]

ALTER [ table_type ] table_name
ADD CLASS ATTRIBUTE table_attr_definition [ {, class_attr_definition }_ ]
[ INHERIT resolution [ { , resolution }_ ] ] [ ; ]

table_type:
[TABLE | CLASS]
[VIEW | VCLASS]

resolution:
[ TABLE ] attr_mthd_name OF superclass_name [ AS alias ]
table_constraint_definition :
[ CONSTRAINT constraint_name ] [ UNIQUE | PRIMARY KEY | FOREIGN KEY]
(attribute_name [{, attribute_name } ...])
icon_sub02.gif table_type : 변경할 테이블의 종류를 일반 테이블과 가상 테이블 중 하나를 지정한다.
icon_sub02.gif table_name : 추가할 테이블의 이름을 지정한다.
icon_sub02.gif attr_definition : 추가할 컬럼의 이름과 데이터 타입을 지정한다.
icon_sub02.gif constraint_name : 추가할 제약 조건의 이름을 지정한다.
2) 예제
icon_sub02.gif 다음은 컬럼을 추가하는 다양한 방법을 보여주는 예제이다.
ALTER TABLE athlete ADD COLUMN age INT;
ALTER TABLE athlete ADD COLUMN age INT DEFAULT 0 NOT NULL;
ALTER TABLE athlete ADD COLUMN retire CHAR(1) SHARED 'N';
ATLER TABLE athlete ADD COLUMN phone VARCHAR(13) DEFAULT '000-0000-0000';
icon_sub02.gif 다음은 제약 조건을 추가하는 다양한 방법을 보여주는 예제이다.
ALTER TABLE company ADD CONSTRAINT pk_id PRIMARY KEY (comp_id);
ALTER TABLE nation ADD CONSTRAINT u_name UNIQUE (name);
4. 컬럼 이름 변경
ALTER 구문의 RENAME 예약어를 사용하여 테이블이 생성된 후에 컬럼의 이름을 변경할 수 있다.
1) 구문
ALTER [ table_type ] table_name
RENAME rename_clause
[ INHERIT resolution [ {, resolution }_ ] ] [ ; ]

table_type:
[TABLE | CLASS]
[VIEW | VCLASS]

rename_clause:
[ ATTRIBUTE | COLUMN ]
[ CLASS ] old_attr_mthd_name AS new_attr_mthd_name
FUNCTION OF [ CLASS ] method_name AS method_implementation_name

FILE file_path_name AS file_path_name

resolution:
[ CLASS ] attr_mthd_name OF superclass_name [ AS alias ]
icon_sub02.gif table_type : 변경할 테이블의 종류로 일반 테이블과 가상 테이블 중 하나를 지정한다.
icon_sub02.gif table_name : 변경할 컬럼이 존재하는 테이블 이름을 지정한다.
icon_sub02.gif rename_clause : old_attr_mthd_name : 변경하기 전의 컬럼 이름을 지정한다.
new_attr_mthd_name : 변경할 새로운 컬럼 이름을 지정한다.
2) 예제
icon_sub02.gif 다음은 athlete 테이블의 gender 컬럼 이름을 gender_type으로 변경하는 예제이다.
ALTER TABLE athlete RENAME COLUMN gender AS gender_type;
5. 컬럼의 디폴트 값 변경
ALTER 구문의 CHANGE 예약어를 사용하여 디폴트 값이 없는 컬럼의 디폴트 값을 지정하거나 기존의 디폴트 값을 변경할 수 있다.
1) 구문
ALTER [ table_type ] table_name
CHANGE [ CLASS ] attribute_name DEFAULT value
[ { , [ CLASS ] attribute_name DEFAULT value }_ ] [ ; ]

table_type:
[TABLE | CLASS]
[VIEW | VCLASS]
icon_sub02.gif table_type : 변경할 테이블의 종류를 일반 테이블과 가상 테이블 중 하나를 지정한다.
icon_sub02.gif table_name : 변경할 컬럼을 가지는 테이블의 이름을 지정한다.
icon_sub02.gif attribute_name : 새로운 디폴트 값을 적용할 컬럼의 이름을 지정한다.
icon_sub02.gif value : 변경할 디폴트 값을 지정한다.
2) 예제
icon_sub02.gif 다음은 athlete 테이블의 gender 컬럼의 디폴트 값을 변경하는 예제이다.
gender 컬럼은 디폴트 값이 없으므로 첫 번째 질의를 통해서 디폴트 값을 'M'으로 설정할 수 있으며, 두 번째 질의로 gender 컬럼의 디폴트 값을 'W'로 변경한다.
ALTER TABLE athlete CHANGE gender DEFAULT 'M';
ALTER TABLE athlete CHANGE gender DEFAULT 'W';
6. 컬럼 및 제약 조건 삭제
ALTER 구문의 DROP 예약어를 사용하여 컬럼이나 제약 조건을 삭제할 수 있다. 한 번의 ALTER 구문으로 삭제할 수 있는 컬럼이나 제약 조건의 개수 제한은 없다.
1) 구문
ALTER [ table_type ] table_name
DROP [ ATTRIBUTE | COLUMN ] [ CLASS ] attr_mthd_name
[ {, [ CLASS ] attr_mthd_name }_ ]
[ INHERIT resolution [ {, resolution }_ ] ] [ ; ]

ALTER [ table_type ] table_name
DROP CONSTRAINTconstraint_name

table_type:
[TABLE | CLASS]
[VIEW | VCLASS]

resolution:
[ CLASS ] attr_mthd_name OF superclass_name [ AS alias ]
icon_sub02.gif table_type : 변경할 테이블의 종류를 일반 테이블과 가상 테이블 중 하나를 지정한다.
icon_sub02.gif table_name : 삭제할 컬럼이 존재하는 테이블의 이름을 명시한다.
icon_sub02.gif attr_mthd_name : 삭제할 컬럼의 이름을 명시한다.
icon_sub02.gif constraint_name : 삭제할 제약 조건의 이름을 명시한다.
2) 예제
icon_sub02.gif 다음은 stadium 테이블의 address 컬럼과 seats 컬럼을 삭제하는 예제이다.
ALTER TABLE stadium DROP ATTRIBUTE address, seats;
icon_sub02.gif 다음은 stadium 테이블의 code 컬럼에 설정되어 있는 PRIMARY KEY 제약 조건을 삭제하는 예제이다.
ALTER TABLE stadium DROP CONSTRAINT pk_stadium_code;

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  94 명