SQL 기본 - 데이터 정의어, DDL(CREATE, ALTER, DROP)

웹 & 안드로이드/DataBase|2014. 2. 28. 16:30

 

 

CREATE TABLE

* 테이블을 생성하는 명령어.

 

* 기본적인 생성 sql문장

1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE 테이블명
(
컬럼명1    데이터유형    [디폴트 값],
컬럼명2    데이터유형    [디폴트 값],
컬럼명3    데이터유형    [디폴트 값]
...
..
.
컬럼명n    데이터유형    [디폴트 값],
CONSTRAINT    제약조건 명     제약조건 종류     해당 컬럼명
);
 

 

* 제약조건의 종류

- PRIMARY KEY : 테이블에 저장된 행을 고유하게 식별하기 위한 기본 키. 하나의 테이블에 하나의 기본키 제약만 정의할 수 있다. UNIQUE KEY + not null과 같은 형태.

 

- UNIQUE KEY :  행을 고유하게 식별 할 수 있는 키. 기본키와 다르게 NULL이 허용.

 

- NOT NULL :  NULL값 입력을 금지. 입력 필수인 필드를 만든다.

 

- CHECK : 입력할 수 있는 값의 범위 등을 지정. TRUE, FALSE로 평가할 수 있는 논리식을 지정.

 

- FOREIGN KEY : 외래키. 다른 테이블의 기본키를 참조하는 키.

 

※ NULL의 의미는 공백(" "), 숫자 0과는 전혀 다른 값. 아직 정의되지 않은 미지의 값이나 현재 데이터를 입력하지 못하는 경우를 뜻함.

 

* SELECT 문장을 통해 테이블 생성이 가능하다.

1
2
3
CREATE TABLE 복사한 테이블 명
AS SELECT * FROM 원본 테이블 명;
 

 

 

 

ALTER TABLE

* 정의한 테이블 구조를 수정.

 

* ADD COLUMN, 컬럼 추가

: 기존의 테이블에 컬럼을 추가한다.

 

1
2
ALTER TABLE 테이블 명
ADD (추가할 컬럼명    데이터 유형    [제약조건]);

※ 이 경우 추가한 컬럼은 무조건 마지막에 붙는다. 순서를 조정 할 수 없다.

 

*  DROP COLUMN, 컬럼 삭제

: 기존에 존재한 컬럼을 삭제한다.

1
2
ALTER TABLE 테이블 명
DROP 컬럼명;

 

* MODIFY COLUMN, 컬럼 수정

: 기존의 컬럼의 정의 조건을 수정한다.

1
2
ALTER TABLE [테이블 명]
ALTER (컬럼명    데이터유형    [제약조건]); 

 

 

* RENAME COLUMN, 컬럼명 수정 (※ ANSI 표준이 아닌 ORACLE등의 일부 DBMS에만 적용.)

: 컬럼의 이름을 수정한다.

1
2
ALTER TABLE [테이블 명]
RENAME COLUMN    기존의 컬럼명    TO    수정할 컬럼명;

 

* DROP CONSTRAINT, 제약조건 삭제

: 테이블 생성시에 부여했던 제약조건을 삭제한다.

1
2
ALTER TABLE 테이블 명
DROP CONSTRAINT 제약조건 명;

 

 

* ADD CONSTRAINT, 제약조건 추가

: 제약조건을 추가한다

1
2
ALTER TABLE 테이블 명
ADD CONSTRAINT    제약조건 명   제약조건    컬럼명;

 

 

 

DROP TABLE

* 테이블을 완전히 삭제한다.

 

1
DROP TABLE 테이블명;

 

TRUNCATE TABLE

* 테이블 구조는 그대로 두고, 데이터 행만을 제거하는 명령어. 사용 후 테이블을 재사용 할 수 있다.

 

1
TRUNCATE TABLE 테이블 명;

 

 

모든 내용은 'SQL 전문가 가이드, 한국데이터베이스진흥원'에서 인용, 발췌하였습니다.

댓글()