반응형
# 목적
: 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 |