11. 데이터 정의어(DDL)
1) 명령어의 종류 및 설명
- CREATE TABLE: 테이블 생성
- DROP TABLE: 테이블의 구조 및 모든 행 삭제
- ALTER TABLE: 테이블 변경(컬럼-> 추가, 수정 / 제약조건-> 추가, 삭제, 활성화, 비활성화)
- TRUNCATE: 테이블의 구조만 남기고 모든 행 삭제
- RENAME: Object의 이름 변경
- COMMENT: 테이블 혹은 컬럼에 주석 달기
*주의: DDL 명령어는 실행시 자동 COMMIT 후 ROLLBACK불가
2) 테이블 삭제 DROP TABLE
- 문형
DROP TABLE 테이블명 [CASCADE CONSTRAINTS];
- 테이블의 모든 데이터 및 인덱스 삭제, 트랜잭션 자동 commit, ROLLBACK 불가
- [CASCADE CONSTRAINTS] : 종속된 제약조건 삭제
3) 컬럼의 추가 ALTER(ADD)
- 문형
ALTER TABLE 테이블명
ADD (컬럼 datatype [DEFAULT 형식][CONSTRAINT 정의] [,컬럼 datatype]...);
4) 컬럼의 수정 ALTER(MODIFY)
- 문형
ALTER TABLE 테이블명
MODIFY (컬럼 datatype [DEFAULT 형식][NOT NULL제약조건] [,컬럼 datatype]...);
- 칼럼의 크기, 기본값, NOT NULL 제약조건 변경 가능(단 NULL이 없을 때)
- 칼럼이 NULL 혹은 데이터가 없을 때 크기 축소 혹은 데이터타입 변경 가능
- DEFAULT 변경시 다음 입력 때 부터 적용
5) Constraint(제약조건)의 변경
- 제약조건 추가
ALTER TABLE 테이블명
ADD [CONSTRAINT 제약조건명] 제약조건유형 (칼럼명);
- 제약조건 변경
ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명 [CASCADE];
- 제약조건 활성화
ALTER TABLE 테이블명
ENABLE CONSTRAINT 제약조건명;
- 제약조건 비활성화
ALTER TABLE 테이블명
DISABLE CONSTRAINT 제약조건명 [CASCADE];
6) 그 외의 DDL
- RENAME 이전이름 TO 새로운이름; // Object의 이름 변경
테이블, VIEW, SEQUENCE, SYNONYM의 이름 변경(객체 소유자만 가능)
- TRUNCATE TABLE 테이블명; // 테이블의 구조만 남기고 모든 행 삭제
TRUNCATE명령 -> ROLLBACK 불가 / DELETE명령 -> ROLLBACK 가능
- COMMENT ON TABLE 테이블명 IS '주석문장' ;
- COMMENT ON COLUMN 테이블명.컬럼명 IS '주석문장' ;
'프로그래밍 > SQL' 카테고리의 다른 글
[SQL 요약 정리] 1-13. OBJECT (0) | 2019.02.09 |
---|---|
[SQL 요약 정리] 1-12. 데이터 제어어(DCL) (0) | 2019.02.09 |
[SQL 요약 정리] 1-10. DICTIONARY (0) | 2019.02.08 |
[SQL 요약 정리] 1-9. TRANSACTION CONTROL (0) | 2019.02.08 |
[SQL 요약 정리] 1-8. CONSTRAINT (0) | 2019.02.08 |