본문 바로가기
BackEnd/Database

[DB] Oracle의 DDL

by ryuneng 2025. 1. 20.
반응형

# 목적

: Oracle의 데이터 정의어(DDL)와 주요 데이터베이스 객체 정리




# 데이터 정의어(DDL) 란?

: 오라클 데이터베이스 객체 생성, 변경, 삭제에 사용되는 명령어
- CREATE, ALTER, DROP, TRUNCATE




# 주요 데이터베이스 객체

1. 테이블

- 데이터의 기본 저장단위, 행과 열로 구성되어 있는 객체

2. 뷰

- 하나 이상의 테이블을 사용해서 만든 가상의 테이블

3. 시퀀스

- 일련번호를 자동으로 생성하는 데이터베이스 객체

-- 1부터 1씩 증가하는 번호 발행하기
CREATE SEQUENCE 시퀀스명;

4. 인덱스

- 검색성능을 향상시키기 위해 데이터에 대한 색인을 가지고 있는 객체

-- 인덱스 생성하기
CREATE INDEX 인덱스명
ON 테이블명 (컬럼명, ....)

5. 동의어

- 객체에 대한 다른 이름을 제공




# DDL 종류 및 사용법

1. CREATE

  • 테이블 생성하기
CREATE TABLE 테이블명 (
	컬럼명 데이터타입 제약조건,
    컬럼명 데이터타입,
    컬럼명 데이터타입(사이즈),
    컬럼명 데이터타입 DEFAULT 기본값
);
CREATE TABLE SAMPLE_BOOKS (
	BOOK_NO			NUMBER(6) PRIMARY KEY,
    BOOK_TITLE 		VARCHAR2(255) NOT NULL,
    BOOK_WRITER		VARCHAR2(255),
    BOOK_PRICE		NUMBER(7, 0) NOT NULL,
    BOOK_STOCK		NUMBER(3, 0) DEFAULT 10,
    BOOK_REG_DATE	DATE DEFAULT SYSDATE
);

2. ALTER

  • 테이블 변경하기
-- 컬럼추가
ALTER TABLE 테이블명 ADD (컬럼명 데이터타입(크기) [DEFAULT 기본값]);

-- 컬럼수정
ALTER TABLE 테이블명 MODIFY (컬럼명 테이터타입(크기) [DEFAULT 기본값]);

-- 컬럼삭제
ALTER TABLE 테이블명 DROP 컬럼명;

3. DROP

  • 테이블 삭제하기
DROP TABLE 테이블명;

4. TRUNCATE

  • 테이블 절단하기
TRUNCATE TABLE 테이블명;
  
  -- truncate는 테이블에서 모든 행을 제거한다.
  -- 해당 테이블이 사용하는 저장공간을 해제한다.
  -- truncate로 제거된 행은 rollback할 수 없다.

 


< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >

🔗 velog 버전 보기 : https://velog.io/@ryuneng2/DB-Oracle-DDL

'BackEnd > Database' 카테고리의 다른 글

[DB] TOP-N 분석과 분석함수  (0) 2025.01.20
[DB] 무결성 제약조건(Constraint)  (0) 2025.01.20
[DB] Transaction(트랜잭션) - Commit, Rollback  (0) 2025.01.20
[DB] SubQuery(서브쿼리)  (0) 2025.01.20
[DB] Join(조인)  (0) 2025.01.20