오라클 SQL · 객체와 성능

DDL 기초: CREATE, ALTER, DROP, TRUNCATE

DDL은 데이터 구조를 정의하고 바꾸는 문법이다. 테이블과 컬럼을 만드는 CREATE, 구조를 바꾸는 ALTER, 제거하는 DROP과 TRUNCATE를 정확히 구분해야 한다.

DDL 기초: CREATE, ALTER, DROP, TRUNCATE 대표 이미지

이 글에서 꼭 잡아야 할 것

DDL은 데이터 구조를 정의하고 바꾸는 문법이다. 테이블과 컬럼을 만드는 CREATE, 구조를 바꾸는 ALTER, 제거하는 DROP과 TRUNCATE를 정확히 구분해야 한다.

DDL은 데이터를 조회하는 것이 아니라 그 데이터를 담는 그릇을 설계하는 문법이다. 실제 서비스에서는 변경 영향이 크기 때문에 문장 하나의 의미가 매우 무겁다. 시험에서도 각 문법이 구조를 바꾸는지, 데이터를 지우는지 구분하는 문제가 자주 나온다.

난이도 중급
모듈 객체와 성능
학습 시간 10분
핵심 키워드 CREATE, ALTER, TRUNCATE

개념 지도와 이해 포인트

구조 정의 CREATE는 테이블, 뷰, 인덱스 같은 객체를 새로 만든다. 컬럼 타입과 제약조건을 함께 설계하는 단계다.
구조 변경 ALTER는 기존 객체의 구조를 바꾼다. 컬럼 추가, 타입 변경, 제약조건 추가 같은 유지보수 작업에 자주 쓰인다.
삭제와 초기화 DROP은 객체 자체를 제거하고, TRUNCATE는 구조는 남긴 채 데이터를 빠르게 비운다. 목적이 완전히 다르므로 혼동하면 안 된다.
DDL 기초: CREATE, ALTER, DROP, TRUNCATE 개념 다이어그램

대표 문법 패턴

CREATE TABLE study_members (
  member_id NUMBER,
  member_name VARCHAR2(100),
  created_at DATE
);

ALTER TABLE study_members
ADD status VARCHAR2(20);

TRUNCATE TABLE study_members;

문법 읽는 포인트

  • CREATE는 새 객체를 만들고, ALTER는 기존 객체를 변경한다.
  • DROP은 객체 자체를 제거하므로 복구 전략을 함께 생각해야 한다.
  • TRUNCATE는 빠르지만 롤백 가능성 측면에서 DML과 다르게 접근해야 한다.

핵심 용어

  • CREATE
  • ALTER
  • TRUNCATE

학습용 테이블 구조 만들고 수정하기

DDL은 결과 행이 보이지 않기 때문에 더 추상적으로 느껴질 수 있다. “테이블 틀을 만든다, 컬럼 하나를 추가한다”처럼 물리적 이미지를 떠올리면 이해가 쉬워진다.

CREATE TABLE sql_notes (
  note_id NUMBER,
  topic_name VARCHAR2(100),
  created_at DATE
);

ALTER TABLE sql_notes
ADD difficulty VARCHAR2(20);

수험 체크포인트와 자주 하는 실수

시험 체크포인트

  • DDL은 구조 변경, DML은 데이터 변경이라는 큰 축을 먼저 구분하자.
  • DROP과 TRUNCATE의 차이는 객체 삭제인지 데이터 초기화인지로 정리하면 된다.
  • ALTER TABLE의 대표 패턴 몇 가지는 손으로 직접 써 보는 편이 좋다.

자주 하는 실수

  • TRUNCATE를 DELETE와 완전히 같은 문법으로 생각하는 실수
  • DROP이 데이터를 지우는 정도라고만 이해하는 실수
  • DDL이 자동 커밋 특성과 연결된다는 점을 놓치는 실수

연결 학습

구조를 만들 수 있으면 이제 그 구조를 안전하게 지키는 제약조건을 이해해야 한다. 다음 챕터에서는 무결성과 제약조건을 정리한다.

댓글 0

작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.

일반 댓글 작성

댓글을 불러오는 중입니다.

같은 카테고리에서 이어서 읽기

지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.