SQL 기본 - 데이터 정의어, DDL(CREATE, ALTER, DROP)
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 전문가 가이드, 한국데이터베이스진흥원'에서 인용, 발췌하였습니다.
'웹 & 안드로이드 > DataBase' 카테고리의 다른 글
SQL 기본 - 윈도우 함수, WINDOW FUNCTION (0) | 2014.03.04 |
---|---|
SQL 기본 - 데이터 조작어, DML(INSERT, UPDATE, DELETE, SELECT) (0) | 2014.02.28 |
MySql 설치하기 (0) | 2013.09.27 |