|
 |
테이블 생성 및 삭제 SQL 구문 | |
|
|
1. CREATE TABLE |
|
테이블 생성을 위해서 CREATE TABLE 구문을 이용한다. |
CREATE{ CLASS | TABLE } table_name [ {UNDER | AS SUBCLASS OF } super_class_name [ {, super_class_name }_ ] ] [ TABLE ATTRIBUTE ( table_attr_definition_list ) ] [ ( attr_definition | table_constraint [ { , attr_definition | table_constraint_definition }_ ] ) ] [ METHOD method_definition_list ] ] [ FILE path_name_list ] ] [ INHERIT resolution_list [ {, resolution_list }_ ] ] [ ; ] super_class_name : [ user_name.]classname table_attr_definition : attribute_name datatype { [ DEFAULT value ] | [ NOT NULL ] } attr_definition : attribute_name datatype [ { SHARED [ value ] | DEFAULT value } ] [AUTO_INCREMENT ...] [ constraints ] constraints : NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY ... table_constraint_definition : [ CONSTRAINT constraint_name ] {[ UNIQUE | PRIMARY KEY | FOREIGN KEY ]} (attribute_name [{, attribute_name} ...]) method_definition : [ CLASS ] method_name [ ( [ arg_type_list ] ) ] [ result_type ] [ FUNCTION method_implementation_name ] arg_type : datatype result_type : datatype resolution_list : attr_mthd_name OF super_class_name [ AS alias ] |
|
table_name : 생성할 테이블 이름을 지정한다. |
|
attr_definition :
|
- attribute_name : 생성할 컬럼의 이름을 지정한다. - datatype : 컬럼의 데이터 타입을 지정한다. - [SHARED [ value ] | DEFAULT value ] : 컬럼의 초기값을 지정한다. - constraints : 컬럼의 제약 조건을 지정하며 제약 조건의 종류에는 NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY가 있다. |
|
다음은 데모로 제공된 올림픽 데이터베이스의 olympic 테이블을 생성하는 예제이다. |
CREATE TABLE olympic ( host_year INT NOT NULL PRIMARY KEY, host_nation VARCHAR(40) NOT NULL, host_city VARCHAR(20) NOT NULL, opening_date DATE NOT NULL, closing_date DATE NOT NULL, mascot VARCHAR(20) , slogan VARCHAR(40) , introduction VARCHAR(1500) ); |
|
|
2. DROP TABLE |
|
DROP 구문을 이용하여 기존의 테이블을 삭제할 수 있다. 한 DROP 구문으로 여러 개의 테이블을 삭제할 수 있으며 테이블이 삭제되면 포함된 인스턴스도 모두 삭제된다. |
DROP [ table_type ] table_spec [ { ,table_spec }_ ] [ ; ]
table_type: [TABLE | CLASS] [VIEW | VCLASS]
table_spec: single_table_spec ( single_table_spec [ { , single_class_spec }_ ] )
single_table_spec: [ ONLY ] table_name ALL table_name [ ( EXCEPT table_spec ) ] |
|
table_type : 변경할 테이블의 종류를 일반 테이블과 가상 테이블 중 하나를 지정한다. |
|
table_name : 삭제할 테이블의 이름을 지정한다. |
|
다음은 history 테이블을 삭제하는 예제이다. |
DROP TABLE history; |
|