반응형

데이터 정의어(DDL)의 핵심!
CREATE, ALTER, DROP 완전 정복

SQL 문법 중에서도 가장 기본이자 가장 중요한 명령어,
CREATE, ALTER, DROP을 정확하게 알고 계신가요?

 

 

안녕하세요, 여러분 😊
오늘은 데이터베이스 기초 중에서도 실무와 시험, 어디서든 반드시 등장하는 핵심 개념인 데이터 정의어(DDL)에 대해 자세히 알아보려 해요.

특히 이 글에서는 CREATE, ALTER, DROP이라는 3대 명령어를 중심으로, 실제 사용 예제와 함께 초보자도 쉽게 이해할 수 있도록 하나하나 짚어드릴 거예요.
처음 배우는 분들도 걱정 마세요! 실수하기 쉬운 포인트까지 친절하게 알려드릴 테니까요.

1. CREATE 문 – 테이블 생성의 시작 📦

CREATE 문은 데이터베이스에서 테이블을 처음 만들 때 사용하는 명령어예요.
어떤 데이터를 저장할지, 그 데이터가 어떤 형태를 가질지, 테이블의 기본 틀을 만드는 과정이죠.

SQL 문법에서 가장 기본적인 작업이지만, 정확하게 이해하고 써야 실수 없이 데이터베이스를 설계할 수 있습니다.

🧾 CREATE 문 기본 문법

CREATE TABLE 테이블명 (
    컬럼1 데이터타입 [제약조건],
    컬럼2 데이터타입 [제약조건],
    ...
);

 

예시로 살펴보면 훨씬 이해가 쉬워요. 아래에 간단한 회원 테이블을 만들어 볼게요.

CREATE TABLE members (
    id INT PRIMARY KEY,
    username VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    created_at DATE
);

📝 주요 구성 요소 정리

요소 설명
테이블명 생성할 테이블의 이름
컬럼명 테이블에 포함될 각 열의 이름
데이터 타입 해당 열이 저장할 데이터의 형식 (예: INT, VARCHAR, DATE)
제약조건 NOT NULL, PRIMARY KEY 등 데이터 무결성 확보용 조건

💡 실전 팁

  • 테이블명은 복수형보다 단수형이 일반적입니다. 예: user, order
  • PRIMARY KEY는 한 테이블에 하나만 설정 가능하니 주의!
  • NOT NULL은 데이터를 꼭 입력해야 하는 컬럼에 붙이세요.

이렇게 CREATE 문은 테이블을 처음 설계할 때 필수적으로 사용되며, 앞으로 데이터베이스 설계나 개발 시 가장 많이 쓰이는 문장 중 하나예요.
자주 실습해보면서 익혀두면 나중에 데이터베이스 실무에서도 유용하게 써먹을 수 있어요 😊

 

 

2. ALTER 문 – 테이블 구조 변경하기 🔧

실제 서비스를 운영하다 보면 테이블 구조를 처음 설계한 대로만 쓰기 어렵습니다.

새로운 컬럼을 추가하거나 기존 컬럼을 수정하거나, 때로는 삭제해야 할 때도 있어요.

그럴 때 사용하는 명령어가 바로 ALTER 문입니다.

🔧 ALTER 문 기본 문법

-- 컬럼 추가
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입;

-- 컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

-- 컬럼 이름 변경 (DBMS마다 문법 차이 있음)
ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼 TO 새컬럼;

-- 컬럼 속성 수정
ALTER TABLE 테이블명 MODIFY 컬럼명 새데이터타입;

 

예제를 통해 ALTER 문의 주요 사용법을 확인해볼게요.

-- 회원 테이블에 phone 컬럼 추가
ALTER TABLE members ADD phone VARCHAR(20);

-- email 컬럼 삭제
ALTER TABLE members DROP COLUMN email;

-- created_at 컬럼을 signup_date로 이름 변경
ALTER TABLE members RENAME COLUMN created_at TO signup_date;

-- phone 컬럼 데이터 타입 수정
ALTER TABLE members MODIFY phone VARCHAR(50);

🧩 ALTER 문으로 할 수 있는 주요 작업 정리

작업 설명
ADD 새로운 컬럼 추가
DROP 기존 컬럼 삭제
RENAME 컬럼명 변경
MODIFY 데이터 타입 또는 제약조건 변경

⚠️ 실무에서의 주의사항

  • 컬럼 삭제(DROP)는 복구 불가능할 수 있으므로 백업 필수!
  • MODIFY 문은 일부 DB에서 형식이 다를 수 있으니 DBMS 매뉴얼 확인 필수!
  • 실시간 운영 중인 테이블은 변경 전 트랜잭션 및 롤백 고려 필요

ALTER 문을 잘 다루면, 테이블을 새로 만들 필요 없이 유연하게 구조를 조정할 수 있습니다.
서비스가 성장하면서 데이터도 함께 진화하는 만큼, 이 명령어는 꼭 익혀두세요!

 

 

3. DROP 문 – 테이블 삭제 주의사항 🗑️

DROP 문은 데이터베이스에서 테이블이나 전체 객체를 완전히 삭제할 때 사용하는 명령어예요.
DELETE 문과 비슷하다고 오해하는 경우가 많은데, DROP은 테이블 자체를 지워버리기 때문에 되돌릴 수 없어요!

🧨 DROP 문 기본 문법

-- 테이블 삭제
DROP TABLE 테이블명;

-- 전체 데이터베이스 삭제
DROP DATABASE 데이터베이스명;

 

예제를 통해 DROP 문이 얼마나 강력한 명령어인지 감을 잡아보세요.

-- members 테이블 삭제
DROP TABLE members;

-- dev_db 데이터베이스 삭제
DROP DATABASE dev_db;

❗ DROP과 DELETE의 차이점

비교 항목 DROP DELETE
기능 테이블 자체를 삭제 데이터(레코드)만 삭제
ROLLBACK 일반적으로 불가능 가능 (트랜잭션 내에서)
속도 빠름 (구조까지 삭제) 비교적 느림
사용 주기 정리나 초기화 목적 데이터 수정·갱신 목적

⚠️ DROP 사용 시 주의사항

  • DELETE는 데이터만 지우고 구조는 남는다.
  • DROP은 ROLLBACK 불가. 실행 전 반드시 백업 또는 재확인 필수!
  • 실제 운영 DB에서는 가급적 DROP 지양. 테스트 환경에서 먼저 실행해 보세요.

DROP 문은 정말 강력하지만 그만큼 위험할 수 있는 명령어입니다.
데이터 전체 손실로 이어질 수 있으니 꼭 신중하게 사용하고, 필요하다면 DELETE 또는 TRUNCATE와의 차이점도 함께 비교해보는 습관을 들이세요.

 

 

4. DDL과 DML의 차이점은? 🤔

SQL을 공부하다 보면 꼭 마주치는 개념이 바로

DDL(Data Definition Language)DML(Data Manipulation Language)이에요.
두 용어 모두 SQL의 하위 분류지만,

역할과 기능이 완전히 다르기 때문에 확실하게 구분해서 알아두는 게 중요합니다.

🆚 DDL vs DML 비교표

구분 DDL DML
풀네임 Data Definition Language Data Manipulation Language
역할 테이블 구조 정의 및 변경 테이블 안의 데이터 조작
대표 명령어 CREATE, ALTER, DROP INSERT, UPDATE, DELETE, SELECT
ROLLBACK 불가능 (일반적으로 즉시 반영) 가능 (트랜잭션 사용 시)
사용 시점 초기 테이블 설계 또는 구조 변경 시 일상적인 데이터 입력 및 수정 작업 시

📌 핵심 요약

  • DDL은 테이블 "뼈대"를 만드는 것!
  • DML은 그 안에 "내용물"을 채우고 바꾸는 작업!

초보자 입장에서는 두 개념을 헷갈리는 일이 잦지만, 실무나 면접에서도 자주 나오는 구분이니 꼭 정리해두세요.
구조(DDL) vs 데이터(DML)라는 큰 틀로 이해하면 더 쉬워요!

 

 

5. 실전 예제로 배우는 DDL 활용법 💡

이제 이론만 보고 끝낼 수는 없죠?

실제 상황에서 어떻게 CREATE, ALTER, DROP을 사용하는지, 실전 예제를 통해 알아보겠습니다.

실습 환경은 MySQL 또는 MariaDB 기준이며, 로컬에서 직접 실행해보시면 학습 효과가 훨씬 좋아요!

🛠️ Step 1: 사용자 테이블 생성

CREATE TABLE users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(30) NOT NULL,
    password VARCHAR(100) NOT NULL,
    email VARCHAR(50),
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
  • AUTO_INCREMENT로 user_id 자동 증가
  • created_at 기본값으로 현재 시간 자동 설정

🛠️ Step 2: 컬럼 추가 (ALTER)

ALTER TABLE users ADD phone_number VARCHAR(20);

 

운영 중 “휴대폰 번호” 컬럼이 필요하다는 요청이 들어왔을 때 이렇게 ALTER로 유연하게 대응할 수 있어요.

🛠️ Step 3: 테이블 삭제 (DROP)

DROP TABLE users;

 

테스트용으로 만든 테이블을 완전히 삭제할 때 유용하지만, 실서비스에서는 신중하게 사용해야 해요!

🧠 실전에서 자주 쓰는 DDL 흐름

  1. 개발 초기 - CREATE로 테이블 설계
  2. 요구사항 변경 - ALTER로 컬럼 추가/수정
  3. 테스트 종료 시 - DROP으로 정리

이처럼 DDL 명령어는 프로젝트 전체 생명주기에서 필수로 활용되며, 특히 초기 설계 및 유지보수 단계에서 그 진가를 발휘합니다.
직접 연습해보고, 실제 서비스에서 사용할 수 있을 만큼 자신감을 키워보세요!

 

 

마무리하며 ✨

지금까지 CREATE, ALTER, DROP을 중심으로 한 데이터 정의어(DDL)에 대해 함께 공부해봤습니다.

초보자 분들은 처음에는 조금 복잡하게 느껴질 수도 있지만, 실제로 몇 번 실습하고 나면 오히려 가장 손에 익게 되는 명령어들이 바로 이 DDL들이에요.

 

테이블을 만들고 → 수정하고 → 삭제하는 과정은 웹 개발, 데이터 분석, 서버 구축 등 거의 모든 IT 분야에서 반복되는 핵심 루틴이죠.


앞으로 프로젝트를 진행하시면서도 이 명령어들을 자연스럽게 써먹게 될 날이 꼭 올 거예요!😉

반응형

+ Recent posts