AI·데이터 자격증/SQLD

[SQLD 이론 45] DDL, CREATE·ALTER·DROP·TRUNCATE·RENAME과 CTAS, DELETE vs TRUNCATE vs DROP 총정리 (+기출변형문제)

랜덤워크z 2026. 10. 23. 14:50

SQLD 이론 45 DDL

SQLD DDL CREATE TABLE·ALTER TABLE(ADD·MODIFY·DROP COLUMN·RENAME COLUMN)·RENAME·DROP·TRUNCATE, CTAS로 복사되는 제약조건, DELETE·TRUNCATE·DROP 비교 핵심 정리

테이블 구조를 만들고 바꾸고 지우는 DDL을 정리할 차례야

60 · 62회에 ALTER 문법과 DELETE · TRUNCATE · DROP 비교 문제가 나왔어

 

SQLD 기초이론 정리 시리즈 45탄!!!

과목 : 2과목 SQL 기본 및 활용

세부 영역 : 관리 구문 - DDL

 

▶ [이론 44] TCL 보러가기

 

1. CREATE TABLE

CREATE TABLE 회원 (

회원ID NUMBER PRIMARY KEY,

이름 VARCHAR2(20) NOT NULL,

가입일 DATE DEFAULT SYSDATE

);

 

규칙 설명
테이블 · 칼럼명 문자로 시작, 예약어 X (이론 14)
DEFAULT 값을 안 넣었을 때 들어갈 기본값
데이터 타입 CHAR(고정 길이), VARCHAR2(가변 길이), NUMBER, DATE 등

 

2. ALTER TABLE (Oracle vs SQL Server)

작업 Oracle SQL Server
칼럼 추가 ALTER TABLE 회원 ADD (전화 VARCHAR2(20)); ALTER TABLE 회원 ADD 전화 VARCHAR(20);
칼럼 타입 변경 ALTER TABLE 회원 MODIFY (이름 VARCHAR2(50)); ALTER TABLE 회원 ALTER COLUMN 이름 VARCHAR(50);
칼럼 삭제 ALTER TABLE 회원 DROP COLUMN 전화; ALTER TABLE 회원 DROP COLUMN 전화;
칼럼 이름 변경 ALTER TABLE 회원 RENAME COLUMN 이름 TO 성명; sp_rename 사용
테이블 이름 변경 RENAME 회원 TO 고객; sp_rename 사용

 

MODIFY 주의 : 이미 들어 있는 데이터보다 크기를 줄일 수 없고, NULL이 있으면 NOT NULL로 바꿀 수 없어

DEFAULT 변경은 이후 입력되는 행부터 적용돼

 

60 · 62회 출제 포인트 : Oracle과 SQL Server의 ALTER 문법 차이

 

3. CTAS (CREATE TABLE AS SELECT)

CREATE TABLE 회원_백업 AS SELECT * FROM 회원;

 

복사되는 것 복사되지 않는 것
칼럼 구조와 데이터 PRIMARY KEY
NOT NULL 제약조건 UNIQUE · CHECK · FOREIGN KEY
  DEFAULT 값 · 인덱스

 

구조만 복사하려면 WHERE 1 = 2 처럼 항상 거짓인 조건을 붙여

SQL Server는 SELECT * INTO 회원_백업 FROM 회원; 으로 복사해

 

4. DELETE vs TRUNCATE vs DROP

구분 DELETE TRUNCATE DROP
분류 DML DDL DDL
삭제 범위 WHERE로 일부 · 전체 행 전체 행 테이블 구조까지
테이블 구조 남음 남음 사라짐
ROLLBACK (Oracle) 가능 (COMMIT 전) 불가 (자동 COMMIT) 불가
저장 공간 유지 초기화 해제

 

[ 최근 기출 출제 포인트 ]

 

회차 출제 포인트
60회 ALTER TABLE 문법, CTAS 제약조건
62회 DELETE · TRUNCATE · DROP 비교

 

[ 자주 묻는 질문 ]

Q. ALTER로 여러 칼럼을 한 번에 추가할 수 있어?

A. Oracle은 ADD (칼럼1 타입, 칼럼2 타입) 처럼 괄호 안에 여러 개를 쓸 수 있어

 

Q. 칼럼을 삭제하면 되돌릴 수 있어?

A. DDL이라 자동 COMMIT돼서 ROLLBACK으로는 안 돼

 

[ 시험 포인트 정리 ]

 

키워드 핵심
Oracle 타입 변경 ALTER TABLE … MODIFY
SQL Server 타입 변경 ALTER TABLE … ALTER COLUMN
테이블 이름 변경 RENAME 옛이름 TO 새이름
CTAS NOT NULL만 복사
TRUNCATE DDL, 구조 유지, ROLLBACK X
DROP 구조까지 삭제

 

[ 기출변형문제 ]

※ 60~62회 출제 포인트와 출제기준을 바탕으로 새로 만든 변형문제야

(Oracle 기준)

 

Q1. CREATE TABLE … AS SELECT 로 테이블을 복사할 때 함께 복사되는 제약조건은?

① PRIMARY KEY

② FOREIGN KEY

③ NOT NULL

④ UNIQUE

 

Q2. Oracle에서 회원 테이블 이름 칼럼의 길이를 50으로 바꾸는 SQL은?

① ALTER TABLE 회원 MODIFY (이름 VARCHAR2(50));

② ALTER TABLE 회원 ALTER COLUMN 이름 VARCHAR2(50);

③ UPDATE TABLE 회원 SET 이름 VARCHAR2(50);

④ MODIFY TABLE 회원 (이름 VARCHAR2(50));

 

Q3. 테이블 구조는 남기고 모든 행을 삭제하며, ROLLBACK할 수 없는 명령어는?

① DELETE

② TRUNCATE

③ DROP

④ ALTER

 

Q4. DELETE · TRUNCATE · DROP에 대한 설명으로 옳지 않은 것은?

① DELETE는 WHERE로 일부 행만 삭제할 수 있다

② TRUNCATE는 테이블 구조를 남긴다

③ DROP은 테이블 구조까지 삭제한다

④ TRUNCATE는 DML이라 ROLLBACK할 수 있다

 

Q5. Oracle에서 회원 테이블 이름을 고객으로 바꾸는 SQL은?

① ALTER 회원 NAME 고객;

② RENAME 회원 TO 고객;

③ UPDATE TABLE 회원 TO 고객;

④ MODIFY 회원 TO 고객;

 


[ 정답 & 해설 ]

 

문항 정답 및 해설
Q1 ③ CTAS는 NOT NULL만 복사하고 PK · FK · UNIQUE 등은 빠져 (60회 출제 포인트)
Q2 ① Oracle은 MODIFY, ②는 SQL Server 방식
Q3 ② TRUNCATE는 DDL이라 자동 COMMIT, 구조는 남아
Q4 ④ TRUNCATE는 DDL이고 ROLLBACK 불가 (62회 출제 포인트)
Q5 ② RENAME 옛이름 TO 새이름

 

다음 글에서는 데이터 무결성을 지키는

[이론 46] 제약조건

▶ [이론 46] 제약조건 보러가기

을 PK · UNIQUE · CHECK · FK로 정리해볼게!

 

▶ SQLD 기초이론 전체 글 보러가기

▶ SQLD · AI 자격증 스터디 자료 보러가기 (AI DATA 자격증 스터디 클럽)

 

SQLD 준비하시는 분들 모두 화이팅입니다~~~~~ ^^

반응형