이 글에서 꼭 잡아야 할 것
DDL은 데이터 구조를 정의하고 바꾸는 문법이다. 테이블과 컬럼을 만드는 CREATE, 구조를 바꾸는 ALTER, 제거하는 DROP과 TRUNCATE를 정확히 구분해야 한다.
DDL은 데이터를 조회하는 것이 아니라 그 데이터를 담는 그릇을 설계하는 문법이다. 실제 서비스에서는 변경 영향이 크기 때문에 문장 하나의 의미가 매우 무겁다. 시험에서도 각 문법이 구조를 바꾸는지, 데이터를 지우는지 구분하는 문제가 자주 나온다.
개념 지도와 이해 포인트
대표 문법 패턴
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개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.
순위 함수: ROW_NUMBER, RANK, DENSE_RANK
순위 함수는 정렬된 데이터에 순서를 매긴다. 같은 값이 나왔을 때 번호가 어떻게 붙는지 이해하면 상위 N건 문제와 동점 처리 문제를 확실히 잡을 수 있다.
계층형 질의: START WITH, CONNECT BY, LEVEL
오라클은 트리 구조 데이터를 위한 계층형 질의 문법을 제공한다. 조직도, 카테고리 트리, 부모-자식 관계를 SQL 한 문장으로 풀 수 있다는 점이 큰 장점이다.
PIVOT, UNPIVOT, WITH절 활용
데이터 형태를 회전시키거나 중간 결과를 이름 붙여 재사용하면 복잡한 SQL도 훨씬 읽기 쉬워진다. PIVOT, UNPIVOT, WITH절은 보고서형 SQL에서 특히 빛나는 도구다.
제약조건과 데이터 무결성
좋은 데이터베이스는 잘못된 데이터를 애초에 받지 않는다. 제약조건은 데이터 무결성을 보장하는 핵심 장치이며, 오라클 SQL 시험에서도 매우 중요한 주제다.
DML: INSERT, UPDATE, DELETE, MERGE
DML은 실제 데이터를 추가하고 바꾸고 삭제하는 문법이다. 테이블 구조보다 더 자주 다루게 되는 영역이므로 문장별 목적과 영향 범위를 명확히 이해해야 한다.
댓글을 불러오는 중입니다.