SQL (Structured Query Language)
관계형 데이터 베이스에서 데이터 조작과 데이터 정의를 위해 사용하는 언어
- 데이터 조회
- 데이터 삽입, 삭제, 수정
- DB Object 생성 및 변경, 삭제
- DB 사용자 생성 및 삭제, 권한 제어 (⭐ 표준 SQL은 모든 DBMS에서 사용가능)
SQL 특징
- 배우고 사용하기 쉽다
- 대소문자를 구별하지 않는다. (데이터의 대소문자는 구분)
- 절차적인 언어가 아니라 선언적 언어이다.
- DBMS에 종속적이지 않다.
SQL (Structed Query Language)
- DML ( Data Manipulation Language) : 데이터 조작 언어
- 데이터베이스에서 데이터를 조작하거나 조회할 때 사용
- 테이블의 레코드를 CRUD ( Create, Read, Update, Delete)
- INSERT, SELECT, UPDATE, DELETE
- DDL ( Data Definition Language) : 데이터 정의 언어
- 데이터 베이스 객체(table, view, user, index 등)의 구조를 정의
- CREATE, ALTER, DROP, RENAME
- DCL ( Data Control Language) : 데이터 제어 언어
- Database, Table 접근권한이나 CRUD권한 정의
- 특정 사용자에게 테이블의 검색권한 부여/ 금지
- 트랜잭션 단위로 실행한 명령문을 적용(commit)하거나 취소(rollback)TCL ( Transaction Control Language) : 트랜잭션 제어 언어
💡 트랜잭션 = 하나의 작업 단위
SQL 종류
분류 | 문장 | 설명 |
DML | SELECT | 데이터베이스에서 데이터를 조회할 때 사용 |
INSERT | 테이블에 새 행을 입력할 때 사용 | |
UPDATE | 기존 행을 변경할 때 사용 | |
DELETE | 테이블에서 행을 삭제할 때 사용 | |
DDL | CREATE | 테이블 등 데이터 객체를 생성할 때 사용 |
ALTER | 테이블 등 데이터 객체를 변경할 때 사용 | |
DROP | 테이블 등 데이터 객체를 삭제할 때 사용 | |
RENAME | 테이블 등 데이터 객체의 이름을 변경할 때 사용 | |
TCL | COMMIT | DML문이 변경한 내용을 관리. 변경사항을 저장할 때 사용한다. 이 때, DML 변경 내용은 트랜잭션 단위로 그룹화 가능하다. |
ROLLBACK | 변경사항을 취소할 때 사용한다. | |
DCL | GRANT | 데이터베이스 접근권한 부여 |
REVOKE | 데이터베이스 접근권한 삭제 |