SQL의 종류
1. DDL: 데이터 정의 언어
CREATE TABLE users (id SERIAL, name VARCHAR(255));
ALTER TABLE users
ADD COLUMN status ENUM('active', 'inactive') DEFAULT 'active';
DROP TABLE users;
1) 테이블 생성: CREATE TABLE
2) 테이블 수정: ALTER TABLE
3) 테이블 삭제: DROP TABLE
4) 테이블 초기화: TRUNCATE TABLE
- 데이터 초기
2. DML: 데이터 조작 언어
INSERT INTO users (name) VALUES (?)
SELECT name FROM users WHERE id = ?
SELECT * FROM users
WHERE status = 'active';
UPDATE users SET name = ? WHERE id = ?
1) 데이터 선택: SELECT
2) 조건 설정: WHERE
3) 정렬: ORDER BY
4) 그룹화: GROUP BY
5) 결합: JOIN
6) 추가: INSERT INTO
7) 수정: UPDATE
8) 삭제: DELETE FROM
3. DCL: 데이터 제어 언어
1) 권한 부여: GRANT
2) 권한 삭제: REVOKE
4) TCL
1) 새로운 트랜잭션 생성 및 시작: BEGIN // START TRANSACTION과 동일
2) 하나의 트랜잭션 성공적으로 종료(DB 일관성있는 상태에 있음): COMMIT
- COMMIT 시 수행한 트랜잭션이 로그에 저장된다.
3) 하나의 트랜잭션 비정상적으로 종료(트랜잭션의 원자성 깨짐)되어 트랜잭션의 연산 결과 취소: ROLLBACK
트랜잭션
: DB 상태를 변화시키기 위해 수행하는 작업 단위이다.
- 데이터 조회, 생성, 수정, 삭제 후 최종 결과물을 만들 때까지의 하나의 작업을 트랜잭션으로 관리할 수 있다.
- 데이터 처리 중 문제 발생 시 변경 사항을 되돌린다.(rollback)
- 모든 단위 기능(조회, 수정 등...)이 성공해야 트랜잭션이 성공된다.(commit)
특징
1) 원자성
- 트랜잭션이 db에 모두 반영되거나 전혀 반영되지 않아야한다.
2) 일관성
- 트랜잭션의 작업 처리 결과가 항상 일관성 있어야 한다.
- 트랜잭션 진행 동안에 db 변경 시에도 바뀐 db가 아니라 처음 진행 시 참조한 db로 진행된다.
3) 독립성
- 복수의 트랜잭션이 동시 실행돼도 서로의 연산에 관여할 수 없다.
'Language > SQL' 카테고리의 다른 글
내장형 H2 데이터베이스 사용 (0) | 2025.06.26 |
---|