
구조 변경: 데이터 추가/수정이 아닌 테이블·DB의 구조 자체를 변경
자동 커밋: 실행 즉시 변경 사항이 DB에 반영되고 ROLLBACK 불가
트랜잭션과 무관: DDL 실행 후에는 이전 상태로 되돌릴 수 없으므로 주의 필요
대표 명령어:
ALTER TABLE table_name
# 칼럼 추가
ADD[COLUMN] col_name col difinition;
# 칼럼명 변경
RENAME COLUMN con_name TO new_col_name;
# 테이블명 변경
RENAME TO new_table_name;
# 칼럼 삭제
DROP [COLUMN] col_name;
# 제약조건 추가
ADD CONSTRAINT constraint_name constraints;
ALTER TABLE examples
ADD COLUMN Country VARCHAR(100) NOT NULL DEFAULT 'default value'; # NULL이 아닌 기본값 설정
- Age : int, not null, 기본값은 0
ALTER TABLE examples
ADD COLUMN (Age INT NOT NULL DEFAULT 0,
Address VARCHAR(100) NOT NULL DEFAULT 'default value');
ALTER TABLE examples
RENAME COLUMN Address TO PostCode;
ALTER TABLE examples
RENAME TO new_examples;
ALTER TABLE examples
DROP COLUMN Age;
ALTER TABLE examples
ADD CONSTRAINT FOREIGN KEY (store_id) REFERENCES store(store_id);
DROP TABLE table_name;
DROP DATABASE database_name;
DROP DATABASE IF EXISTS database_name;
SELECT CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'table_name' AND TABLE_SCHEMA = 'database_name';
ALTER TABLE table_name
DROP FOREIGN KEY fk_constraint_name;
DROP TABLE new_examples;
TRUNCATE [TABLE] table_name;
SHOW DATABAES;
SHOW TABLES;
SHOW FROM db_name;