일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 데이터길이
- oracle
- darkest dark
- Dynamic Programming
- 백준
- 10951
- algoritm
- select
- ANSI JOIN
- 입출력
- 오라클
- n x 2 타일링 2
- 문자열
- db
- 그대로 출력하기
- 알고리즘
- Database
- 동적계획법
- SQL
- DP
- Java
- Eclipse
- JOIN
- Algorithm
- 2156
- 변수
- 소숫점처리
- 반복문
- 자바
- 데이터베이스
- Today
- Total
Cracking Code
SQL - ALTER TABLE 본문
이미 만들어진 테이블에 수정이 필요할 경우 사용할 수 있는 ALTER 명령문에 대해서 알아봅시다.
ALTER TABLE 명령문으로 컬럼의 추가, 변경, 삭제,
제약 조건의 추가, 삭제 등 다양하게 테이블의 구조를 변경할 수 있습니다.
1. 컬럼 추가
ALTER TABLE table
ADD (
column datatype [DEFAULT expr]
[, column datatype] ...
);
table에 컬럼을 추가합니다.
2개의 컬럼을 가진 SCOTT_T 테이블을 만들고 컬럼 1개를 더 추가해보겠습니다.
CREATE TABLE SCOTT_T(
NUM NUMBER(4),
NAME VARCHAR2(10)
);
ALTER TABLE SCOTT_T
ADD (ADDRESS VARCHAR2(30));
ADDRESS 컬럼이 잘 들어간 것을 확인할 수 있습니다.
2. 컬럼 변경
ALTER TABLE table
MODIFY(
column datatype [DEFAULT expr]
[, column datatype] ...
);
위 SCOTT_T 테이블의 ADDRESS 컬럼의 유형을 NUMBER(4)로 바꿔봅시다.
ALTER TABLE SCOTT_T
MODIFY (ADDRESS NUMBER(4));
ADDRESS 컬럼의 유형이 VARCHAR2 타입에서 NUMBER 타입으로 변경된 것을 확인할 수 있습니다.
3. 컬럼 삭제
ALTER TABLE table
DROP (column);
table의 column을 삭제합니다.
SCOTT_T 테이블의 ADDRESS 컬럼을 삭제해봅시다.
ALTER TABLE SCOTT_T
DROP (ADDRESS);
ADDRESS 컬럼이 삭제된 것을 확인할 수 있습니다.
4. 제약 조건 추가
ALTER TABLE table
ADD [CONSTRAINT constraint] type (column);
table의 column 컬럼에 제약 조건 type을 추가합니다.
SCOTT_T의 NUM 컬럼에 기본키 제약 조건을 추가해봅시다.
ALTER TABLE SCOTT_T
ADD CONSTRAINT SCOTT_T_NUM_PK PRIMARY KEY(NUM);
SCOTT_T 테이블의 NUM 컬럼에 P(PRIMARY KEY) 타입의 제약 조건이 잘 추가되었습니다.
5. 제약 조건 삭제
ALTER TABLE table
DROP PRIMARY KEY | UNIQUE(column)
| CONSTRAINT constraint [CASCADE];
table의 기본키 또는 유니크키(컬럼명) 또는 제약 조건 이름으로 제약 조건을 삭제합니다.
CASCADE 옵션으로 모든 종속적인 제약 조건을 같이 삭제할 수 있습니다.
SCOTT_T 테이블의 NUM 컬럼에 있는 기본키 제약 조건을 삭제해보겠습니다.
ALTER TABLE SCOTT_T
DROP PRIMARY KEY;
SCOTT_T 테이블의 제약 조건이 삭제된 것을 확인할 수 있습니다.
6. 제약 조건 활성 / 비활성
-- 비활성화
ALTER TABLE SCOTT_T
DISABLE CONSTRAINT constraint [CASCADE];
-- 활성화
ALTER TABLE SCOTT_T
ENABLE CONSTRAINT constraint [CASCADE];
기존의 제약 조건을 잠시동안 활성 / 비활성 하는 방법입니다.
CASCADE 옵션으로 모든 종속적인 제약 조건 모두 활성 / 비활성화합니다.
'Database' 카테고리의 다른 글
SQL - SEQUENCE (시퀀스) (0) | 2020.07.22 |
---|---|
SQL - VIEW (뷰) (0) | 2020.07.22 |
SQL - DROP TABLE (0) | 2020.07.21 |
SQL - FOREIGN KEY (외래키) (0) | 2020.07.21 |
SQL - CHECK (0) | 2020.07.21 |