[강의] DDL (ALTER, DROP)

Jerry·2025년 8월 27일

DDL (ALTER, DROP)

DDL(Data Definition Language)

데이터 정의 언어로 객체(OBJECT)를 만들고(CREATE), 수정하고(ALTER), 삭제(DROP)하는 구문을 말함

ALTER

테이블에 정의된 내용을 수정할 때 사용하는 데이터 정의어로 컬럼의 추가/삭제, 제약조건의 추가/삭제, 컬럼의 자료형 변경, DEFAULT 값 변경, 테이블 명/컬럼 명/제약조건 명 변경 등을 할 수 있음

DROP

데이터베이스 객체를 삭제하는 구문

ALTER

ALTER의 경우 GUI 기능을 통해서도 변경이 가능하다.
변경할 테이블 선택-> 우클릭-> TABLE 수정 으로 가능하다.
→ ALTER 쿼리는 외우기 어렵기 때문에 급하면 UI 활용 권장

컬럼 추가

ALTER TABLE dept_copy ADD (cname VARCHAR(20));
ALTER TABLE dept_copy ADD (lname VARCHAR(40) DEFAULT ‘한국’);

제약 조건 추가

ALTER TABLE dept_copy ADD CONSTRAINT dcopy_id_pk PRIMARY KEY(dept_id);
ALTER TABLE dept_copy ADD CONSTRAINT dcopy_title_uni UNIQUE(dept_title);

컬럼 수정

-- TYPE만 변경하는 경우는 MODIFY 활용
ALTER TABLE dept_copy MODIFY COLUMN dept_id VARCHAR(20) NOT NULL;
-- 이름까지 변경 할 때 CHANGE 활용
ALTER TABLE dept_copY CHANGE COLUMN lname lname2 VARCHAR(20) NOT NULL DEFAULT '미국';

컬럼 삭제

ALTER TABLE dept_copy DROP COLUMN dept_id;
CREATE TABLE tb1(
  pk INT PRIMARY KEY,
  fk INT REFERENCES tb1,
  col1 INT,
  CHECK(pk > 0 AND col1 > 0)
);

ALTER TABLE tb1 DROP COLUMN pk;
-- * 컬럼 삭제 시 참조하고 있는 컬럼이 있다면 컬럼 삭제 불가능

SELECT * FROM information_schema.table_constraints;

-- 제약을 찾아서 제약부터 이전 지우고 삭제 진행!
ALTER TABLE tb1 DROP CONSTRAINT tb1_chk_1;
ALTER TABLE tb1 DROP COLUMN pk CASCADE CONSTRAINT;

제약조건 삭제

ALTER TABLE dept_copy DROP CONSTRAINT dcopy_title_uni;
ALTER TABLE dept_copy DROP PRIMARY KEY;

테이블 이름 변경

ALTER TABLE dept_copy RENAME TO dept_test;

DROP 구문

모든 객체(테이블이나 스키마, VIEW 등)등을 삭제 할 수 있는 구문
Rollback 되지 않고 바로 휘발됨으로 사용 주의 필요

DROP SCHEMA codeit;
DROP TABLE codeit.member;
DROP TABLE member, department, jobtable;
DROP TABLE IF EXISTS codeit.member;
profile
Backend engineer

0개의 댓글