본문 바로가기
Database/MSSQL

[MSSQL] 데이터베이스 SQL 질의어 (DDL, DML, DCL, TCL)

by Kor-IT 2022. 6. 3.
반응형

데이터베이스 질의어에 대해 정리했다. DDL, DML, DCL, TCL 로 나뉘어 지며 각 질의어에 맞는 용어를 알아두면 좋다.

 


SQL

SQL(Structured Query Language) 은 관계형 데이터베이스의 데이터에 접근하고 관리하기 위해 만들어진 고급 컴퓨터 언어이다. 데이터 검색, 관리, 스키마 수정, 조작, 제어 등 기능들을 가지고 있다. 용도에 맞게 4가지로 구분했다.


DDL (Data Define Language)

데이터베이스를 정의하는 언어로 스키마, 테이블, 뷰, 인덱스 등을 정의하거나 수정, 삭제하는 기능을 가지고 있다.

  • CREATE
    테이블, 뷰, 인덱스 등을 생성한다. [DATABASE, TABLE, VIEW, INDEX ..]
  • DROP
    존재하는 테이블, 뷰, 인덱스 등을 제거한다. 
  • ALTER
    존재하는 테이블, 뷰, 인덱스 등을 수정한다.
  • TRUNCATE TABLE
    테이블의 데이터를 완전 삭제한다. 해당 명령어로 삭제된 데이터들은 복구할 수 없다.
  • RENAME TABLE
    테이블의 이름을 수정한다.

DML (Data Manipulation Language)

데이터 조작을 목적으로 사용하는 언어로, 테이블의 데이터를 조작할 때 사용한다.

  • SELECT
    데이터를 검색할 때 사용한다.
  • INSERT
    데이터를 추가할 때 사용한다.
  • UPDATE
    데이터를 수정할 때 사용한다.
  • DELETE
    데이터를 삭제할 때 사용한다.

DCL (Data Control Language)

데이터베이스 사용자에게 권한을 정의할 때 사용한다. 권한의 존재는 여러 사용자가 무분별하게 접근하여 데이터의 무결성을 최대한 보존하고자 존재한다.

  • GRANT
    권한을 부여 한다.
  • REVOKE
    권한을 제거 한다.

TCL (Transaction Control Language)

트렌젝션을 제어할 때 사용한다. 하나의 트렌젝션은 실행하는 집한 단위를 본다.

  • COMMIT
    트렌젝션 실행
  • ROLLBACK
    트렌젝션 취소
  • SAVEPOINT
    트렌젝션 내 저장지점을 만들어 ROLLBACK 시 SAVEPOINT 로 돌아 갈 수 있다.

 

각 질의어에 대해서 추가적인 포스트를 통해 자세하게 알아보자.

 

반응형

댓글