1. DDL(Data Definition Language) : 데이터 정의어
1. DDL이란
- DDL은 데이터를 보관하고 관리하기 위한 객체(Table, Index, Sequence ...)들을 조작(생성, 수정, 삭제)하기 위한 명령.
- DDL은 DML과 다르게 실행 직후 바로 데이터베이스에 반영되는 특징이 있다. 트랜잭션이 자동으로 완료되기 때문에 바로 데이터베이스에 반영됨. ROLLBACK으로 실행취소가 불가능하다.
- DDL에는 CREATE, ALTER, DROP, TRUNCATE가 명령어로 존재한다.
2. 객체를 생성하는 CREATE
- CREATE TABLE 유저명.사용할 테이블명(
컬럼1이름 컬럼1데이터의 타입,
컬럼2이름 컬럼2데이터의 타입,
....
컬럼n이름 컬럼n데이터의 타입
) => 가장 기본적인 테이블의 형태 - 테이블 명명 규칙
- 테이블명은 문자로 시작해야 한다.(한글도 가능, 숫자는 불가능)
- 테이블명의 길이는 30byte로 제한한다.(영어는 30자, 한글은 15자)
- 동일한 사용자 안에 동일한 명칭의 테이블을 생성할 수 없다.
- 첫 글자 아닌 테이블명 안에서는 숫자나 특수문자도 사용이 가능
- SQL의 예약어는 테이블명으로 사용할 수 없다.(SELECT, FROM, WHERE, JOIN...)
- 관례적인 테이블 명명규칙
- 테이블의 명칭 첫자리는 T_나 TB_를 사용한다.
- 뷰 테이블의 명칭 첫자리는 V_를 사용한다.
- T(TB or V)_프로젝트의 시그니쳐_테이블의 역할(행정표준용어, 프로젝트별로 관리하는 용어)
ex) T_BNCL_MBER, T_BNLC_MEMBER
- 다른 테이블을 참조하여 테이블 생성
- CREATE TABLE 테이블명
AS SELECT 구문;
- CREATE TABLE 테이블명
3. 객체를 수정(변경)하는 ALTER
- 데이터베이스에 이미 생성되어 있는 객체들을 수정할 때 사용하는 명령어.
- ADD(테이블의 컬럼을 추가), RENAME(컬럼명을 변경), MODIFY(컬럼의 데이터타입을 변경), ...의 명령어들과 함께 사용해서 테이블의 구조를 수정, 조작할 수 있다.
- ADD : 테이블에 새로운 컬럼을 하나 추가
- ALTER TABLE 테이블명
ADD 컬럼명 컬럼의데이터타입;
- ALTER TABLE 테이블명
- RENAME : 컬럼의 이름을 수정/변경
- ALTER TABLE 테이블명
RENAME COLUMN 현재컬럼명 TO 변경될컬럼명;
- ALTER TABLE 테이블명
- MODIFY : 컬럼의 데이터타입을 변경
- ALTER TABLE 테이블명
MODIFY 컬럼명 변경될데이터타입;
- ALTER TABLE 테이블명
- DROP : 테이블에서 컬럼을 삭제
- ALTER TABLE 테이블명
DROP COLUMN 컬럼명;
- ALTER TABLE 테이블명
4. 객체를 삭제하는 DROP
- 데이터베이스에 생성되어 있는 객체를 삭제할 때 사용하는 명령어.
- DROP TABLE 테이블명;
- ORACLE에는 TIMESTAMP라는 특수한 기능이 있어서 3시간 전까지의 데이터 확인 할 수 있다. DELETE된 데이터만 복구 가능하다. DROP한 테이블은 복구 불가능.
5. 객체의 이름을 변경하는 RENAME
- RENAME 현재테이블명 TO 변경할테이블명;
6. 테이블의 데이터를 삭제하는 TRUNCATE
- 테이블에 저장되어있는 모든 데이터를 삭제.
- DDL이기 때문에 ROLLBACK 불가능.
- 왠만하면 DELETE를 이용해서 데이터를 삭제하는 것을 권장.
- TRUNCATE TABLE 테이블명;
- WHERE 절을 사용할 수 없다.
728x90
'네이버클라우드 캠프 5기 > 학습내용 정리' 카테고리의 다른 글
18. ORACLE - Constraint (0) | 2023.05.02 |
---|---|
17. ORACLE - Object (0) | 2023.05.02 |
15. ORACLE - DML (0) | 2023.05.02 |
14. ORACLE - Join & SubQuery (0) | 2023.04.13 |
13. ORACLE - Select (0) | 2023.04.13 |