# SQL이란?
Structured Query Language(구조화된 질의 언어)의 약자로,
DB에서 데이터를 조작하고, 검색하는 데에 사용되는 표준 언어
# SQL 문(Statement)
데이터를 조작하거나, 검색하는 작업을 수행하는 명령어들
여러개의 절(clause)로 구성이 되어있다.
ex) SELECT, INSERT, UPDATE, DELETE 등
# SQL 절(clause)
SQL문의 구성요소 중 하나로, SQL문의 구문 구조를 완성하기 위해 사용됨
ex) FROM, WHERE, GROUP BY, ORDER BY등
SQL의 명령어는 크게 3가지 그룹으로 분류된다.
1. DDL(Data Definition Language): 데이터 정의 언어
데이터베이스 구조(테이블, 스키마)를 다루기 위한 명령어
- 테이블 간의 관계가 있기 때문에 변경이 어렵다
- 잘못 설계하면 시스템 성능에 치명적일 수 있다.
- 예시: CREATE, DROP, ALTER...
2. DML(Data Munipulation Language): 데이터 조작 언어
데이터를 조작(CTUD)하기 위한 명령어
★제일 중요★
- DML도 잘못 설계하면 시스템 성능을 저하시킨다
- 예시: INSERT, UPDATE, DELETE
3. DCL(Data Control Language): 데이터 제어 언어
데이터의 보안, 수행제어, 사용자 권한 여부 등을 정의하기 위한 명령어
- .SQLite는 파일로 DB가 관리되므로, 파일 접근 권한 등으로 처리 가능 → 지원 안되는 명령어가 존재
- 예시: COMMIT, ROLLBACK, GRANT, REVOKE
<참고>
트랜젝션(Transaction)
- 하나 이상의 SQL 문을 포함하는 논리적 작업 단위
- 여러 SQL문이 한번에 성공해야 정상이고, 실패 시 모두 취소를 해야 데이터의 무결성이 보장됨
- 정상적인 성공: Commit
- 중간에 실패 → 전체 작업을 취소(undo)하는 과정을 롤백(rollback)이라고 한다.
- 트랜젝션의 성질(ACID)
- 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 영속성(Durability)
'BackEnd > DB' 카테고리의 다른 글
[DB] DB의 관계 종류와 KEY (0) | 2023.10.23 |
---|---|
[DB] DB의 종류 (관계형 / 비관계형) (0) | 2023.10.12 |
[DB] DB의 구성 요소 (0) | 2023.10.10 |
[DB] DB 기초 (0) | 2023.10.10 |