DDL & DML & DCL

zoeyul·2020년 6월 14일
0

Database

목록 보기
3/4

SQL

데이터베이스를 제어하고 관리하기 위한 언어

DML(Data Manipulation Language)

  • SQL의 기본이 되는 명령어로 데이터 조작 언어이며 테이블에 데이터 검색, 삽입, 수정, 삭제 등 데이터를 조작할 때 사용한다.

    • SELECT : 검색(질의)
    • INSERT : 삽입(등록)
    • UPDATE : 업데이트(수정)
    • DELETE : 삭제

DDL(Data Definition Language)

  • 데이터 정의 언어로 테이블이나 관계의 구조를 생성하는데 사용한다.

  • SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용한다.

    • CREATE : 데이터베이스, 테이블 등을 생성한다.
    • ALTER : 이미 존재하는 데이터베이스 개체를 변경한다.
    • DROP : 이미 존재하는 데이터베이스, 테이블을 삭제한다.
    • TRUNCATE : 테이블을 초기화 하며 한번 삭제시 돌이킬 수 없다.

DCL(Data Control Language)

  • 데이터 제어 언어로 데이터의 사용 권한을 관리하는데 사용하며 트랜잭션과 제이터 접근 권한을 제어하는 명렁어가 포함되어 있다.

    • GRANT : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여한다.
    • REVOKE : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈한다.
    • COMMIT : 트랜잭션의 작업을 취소 및 원래대로 복구하는 역할을 한다.
    • ROLLBACK : 트랜잭션의 작업을 취소 및 원래대로 복구하는 역할을 한다.

DELETE vs TRUNCATE vs DROP

  • DELETE : 데이터는 지워지지만 테이블 용량은 줄지 않고, 원하는 데이터만 지울 수 있으며, 잘못 삭제한 경우 삭제한 것을 되돌릴 수 있다.
  • TRUNCATE : 삭제 후 용량이 줄어들고, 테이블이 삭제되지는 않고 데이터만 삭제되며, 선택해서 지울수 없고 삭제 후 되돌릴 수 없다.
  • DROP : 테이블 전체를 삭제하며 삭제 후 되돌릴 수 없다.

0개의 댓글