DataBase/MySQL

[MySql] 명령어 정리 - DDL (Data Definition Language) 쿼리문

왈왈디 2023. 3. 24. 22:18
728x90

관계형 데이터베이스에서 테이블의 데이터를 다루기 전에

테이블 그 자체, 테이블의 구조와 각 칼럼의 속성 등을 다루는

DDL (Data Definition Language) 쿼리문에 대해 알아보자.

DDL (Data Definition Language) 쿼리문

명령어 설명 활용법
CREATE 새로운 테이블을 각 칼럼(열)의 [칼럼명, 자료형, 제약 조건]을 입력하여 생성 CREATE TABLE [테이블명] ([칼럼 이름] [자료형] [제약 조건]
...
(칼럼만큼 반복));

ALTER 테이블의 열을 추가/수정/삭제할 수 있는 명령어
변경하고자 하는 테이블의 [테이블명] [행위] [열이름] [자료형] [제약 조건] 순서로 지정
(수정 시 변경하지 않을 요소도 모두 기입해줘야 함)
추가: ALTER TABLE [테이블명] ADD [열 이름] [자료형] [제약 조건]
삭제: ALTER TABLE [테이블명] DROP [열 이름]
수정: ALTER TABLE [테이블명] MODIFY [열 이름] [자료형] [제약 조건]
DROP 테이블 전체를 삭제하는 명령어 DROP TABLE [삭제할 테이블명]
TRUNCATE 테이블 내 모든 데이터(행)를 삭제하는 명령어 TRUNCATE TABLE [테이블명]
RENAME 테이블 이름 변경 명령어 RENAME TABLE [기존 테이블명] TO [바꿀 테이블명]
DESC 테이블의 모든 칼럼의 자료형과 제약조건을 확인하는 명령어 DESC [테이블명]

(* 실제 명령어 작성 시 []는 빼고 작성)

 

명령어별 활용 예시는 아래와 같다.

명령어 활용 예시
CREATE CREATE TABLE users (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(200) NOT NULL UNIQUE,
    password VARCHAR(200) NOT NULL,
    profile_image VARCHAR(1000) NULL,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
ALTER ALTER TABLE users ADD age INT NOT NULL;
ALTER
TABLE users DROP profile_image;
ALTER
TABLE posts MODIFY content TEXT NULL;
DROP DROP TABLE posts
TRUNCATE TRUNCATE TABLE posts
RENAME RENAME TALBE posts TO postings
DESC  DESC posts

 

728x90