Skip to content

Latest commit

 

History

History
33 lines (30 loc) · 2.38 KB

SQL.md

File metadata and controls

33 lines (30 loc) · 2.38 KB

DML (Data Manipulation Language, 데이터 조작어)

  • 정의된 데이터베이스에 입력된 레코드를 조회,수정,삭제 등의 역할을 하는 언어
  • 종류
    • SELECT : 데이터 조회
    • INSERT : 데이터 삽입
    • UPDATE : 데이터 수정
    • DELETE : 데이터 삭제 등이 있음.
  • 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어
  • DML 명령은 자동 커밋되지 않음 -> 롤백 할 수 있음
  • 조작하려는 테이블을 메모리 버퍼에 올려놓고 작업을 하기 때문에 실시간으로 테이블에 영향을 미치지 않음 -> 버퍼에서 처리한 DML 명령어가 실제 테이블에 반영되기 위해서는 COMMIT 명령어를 통해 TRANSACTION을 종료해야 한다.

DDL (Data Definition Language, 데이터 정의어)

  • 데이터베이스 구조 또는 스키마를 정의하는데 사용
  • 종류
    • CREATE : 데이터베이스, 테이블등을 생성
    • ALTER : 테이블을 수정
    • DROP : 데이터베이스, 테이블을 삭제
    • TRUNCATE : 테이블을 초기화 등이 있음.
  • 직접 데이터베이스의 테이블에 영향을 미치기 때문에 DDL 명령어를 입력하는 순간, 명령어에 해당하는 작업이 즉시 완료(Auto COMMIT)됨.

DCL (Data Control Language, 데이터 제어 언어)

  • 데이터베이스에 권한 부여
  • 종류
    • GRNAT : 데이터베이스에 대한 사용자의 엑세스 권한을 제공(특정 사용자만 특정 작업을 할 수 있도록 지정 가능)
    • REVOKE : GRANT 명령으로 주어진 액세스 권한 철회
  • 직접 데이터베이스의 테이블에 영향을 미치기 때문에 DCL 명령어를 입력하는 순간, 명령어에 해당하는 작업이 즉시 완료(Auto COMMIT)됨.

TCL (Transaction Control Language, Transaction 제어 언어)

  • 데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용
  • 종류
    • COMMIT : 트랜잭션 작업 결과를 저장 반영(트랜잭션 완료)
    • ROLLBACK : 데이터베이스를 마지막 COMMIT 된 시점의 상태로 복원
    • SAVEPOINT : SAVEPOINT를 정의하면 ROLLBACK할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 SAVEPOINT까지 트랜잭션의 일부만 롤백할 수 있다.