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 테이블명;
'프로그래밍 > SQL' 카테고리의 다른 글
[프로그래머스] 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2024.02.21 |
---|---|
[프로그래머스] 12세 이하인 여자 환자 목록 출력하기 문제 (0) | 2024.02.21 |
[SQL] JOIN 구문 (0) | 2024.02.21 |
[SQL] DCL 구문 (0) | 2024.02.20 |
[SQL] DML 구문 (0) | 2024.02.20 |