Seung's Learning Record

[SQL] DDL 구문 본문

프로그래밍/SQL

[SQL] DDL 구문

70_0ewd 2024. 2. 20. 01:49

SQL에는 DML, DDL, DCL, TCL구문으로 분류된다.

  • DML 구문
    - 데이터 조작 언어 
    - 테이블의 행에 사용하는 구문이므로 테이블 정의가 선행되어야 함
    - SELECT, INSERT, UPDATE, DELETE가 여기에 속함
    - ROLLBACK, COMMIT 가능

  • DDL 구문
    - 데이터 정의 언어
    - 데이터 베이스 개체(데이터베이스, 테이블, 뷰, 인덱스)를 생성, 삭제, 변경
    - CREATE, DROP, ALTER가 여기에 속함
    - ROLLBACK, COMMIT 불가능

  • DCL 구문
    - 데이터 제어 언어
    - 사용자에게 어떠한 권한을 부여하거나 빼앗을 때 사용
    - GRANT, REVOKE
    - DDL구문과 마찬가지로 ROLLBACK, COMMIT 불가능

  • TCL 구문
    - 트랜잭션 제어 언어
    - 데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용
    - COMMIT, ROLLBACK, SAVEPOINT가 여기에 속함

DDL 구문

CREATE

테이블을 생성하는 구문

CREATE TABLE 테이블명(
	id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
    	name CHAR(20) NOT NULL,
    	age INT NOT NULL 
);
제약 조건 설명
PRIMARY KEY 식별 가능한 고유한 기본키(식별자)
1개의 테이블에 1개의 기본키만 정의 가능
NULL 불가
UNIQUE KEY 식별 가능한 고유키
NULL 가능
FOREIGN KEY 테이블 간의 관계 정의를 위해 다른 테이블의 기본키를 외래키로 사용
NOT NULL NULL 불가능 조건
CHECK 입력되는 값의 범위 제한

ALTER

테이블 구조 변경 시 사용되는 구문

ALTER TABLE 테이블명 ADD(추가할 컬럼명, 테이터 타입);

ALTER TABLE 테이블명 MODIFY(변경할 컬럼명, 변경할 테이터 타입);

ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

ALTER TABLE 기존 테이블명 RENAME TO 새로운 테이블명;

DROP

테이블 자체를 삭제하는 구문

DROP TABLE 테이블명;

TRUNCATE

테이블이 가지고 있는 데이터 중 초기에 생성된 설정을 제외한 전부분을 삭제하는 구문

TRUNCATE TABLE 테이블명;