본문 바로가기
오라클

[오라클] CREATE 문 완벽 정리

by devlog93 2026. 1. 13.

오라클에서 CREATE문은 데이터베이스 객체를 생성하는 DDL이다. 테이블, 뷰, 인덱스, 시퀀스 등 거의 모든 것은 CREATE문을 통해 만들어진다. 보통 테이블을 만들 때 사용하니 정확하게 이해하자...!


1. CREATE문이란?

CREATE문은 데이터를 저장하거나 관리하기 위해 객체를 생성하는 SQL문이다. CREATE문으로 생성된 객체는 DB에 영구적으로 저장된다. 즉시 자동으로 COMMIT이 된다...! CREATE문 후에는 ROLLBACK이 불가능하다.


2. CREATE TABLE 기본 문법

CREATE TABLE 테이블명(
    컬럼명 데이터타입(크기)
  , 컬럼명 데이터타입(크기)
);

예제

  • 아래 쿼리를 실행하면 MEMBER라는 테이블이 생성됨.
CREATE TABLE MEMBER (
    MEMBER_ID NUMBER(10)
  , NAME      VARCHAR2(50)
  , EMAIL     VARCHAR2(100)
  , REG_DATE  DATE
);

3. 데이터 타입 이해하기

오라클에서 자주 사용하는 데이터 타입은 아래와같다.

데이터 타입 설명
NUMBER 숫자 저장
VARCHAR2 가변 길이 문자열
CHAR 고정 길이 문자열
DATE 날짜 및 시간
CLOB 대용량 문자 데이터

4. 제약조건과 함께 CREATE TABLE

테이블을 만들 때 제약조건을 함께 정의하는 것이 중요하다..!! 알고 넘어가자...!

대표적인 제약조건

  • PRIMARY KEY: 기본키
  • NOT NULL: 필수 값
  • UNIQUE: 중복 불가
  • CHECK: 값 제한
  • FOREIGN KEY: 외래키

예제

테이블 설계 단계에서 제약조건을 정의하면 데이터 무결성을 지킬 수 있다. 주의 깊게 보자...!

CREATE TABLE MEMBER (
    MEMBER_ID  NUMBER(10) PARIMARY KEY
  , NAME       VARCHAR2(50) NOT NULL
  , EMAIL      VARCHAR2(100) UNIQUE
  , AGE        NUMBER(3) CHECK (AGE >= 0)
  , REG_DATE   DATE DEFAULT SYSDATE
);

5. CREATE INDEX

인덱스는 조회 성능을 향상하기 위한 객체이다. 인덱스는 조회 성능을 높이는데. INSERT, UPDATE, DELETE 성능에는 영향을 줄 수 있으므로 주의하자.

CREATE INDEX IDX_EMP_SAL ON EMP(SAL);

6. CREATE문 사용 시 주의사항

  • CREATE문은 자동 COMMIT 된다.
  • 객체 이름 중복 시 에러가 발생한다.
  • 권한이 없으면 생성할 수가 없다.
  • 실무에서는 테이블 구조 변경 시 신중하게 만들도록 하자..!

마무리

CREATE문은 오라클 SQL에서 가장 먼저 접하게 될 거다. SQL을 더 하게 되다 보면 더 중요하게도 느껴질 것 같다. 테이블을 만드는 작업처럼 보이지만 실제로 DB구조를 설계하고 완벽하게 이해해야 하는 것 같다. 테이블, 뷰, 인덱스, 시퀀스 등 모든 객체는 CREATE문을 통해 생성이 된다. 위와 같이 CREATE문은 자동 COMMIT이 되기 때문에 주의하자. 또 제약조건을 어떻게 설계하느냐에 따라 또 달라지기 때문에 사전에 테이블 설계를 제대로 하도록 하자...! 다음 글에서는 ALTER문에 대해 알아보겠습니다. 감사합니다. (_ _)