• Home
  • About
    • JOOS photo

      JOOS

      Joos's blog

    • Learn More
    • Email
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

[DB] DDL, DML, DCL이란?(feat. DELETE, TRUNCATE, DROP의 차이)

06 Mar 2019

Reading time ~2 minutes

제 블로그의 모든 글은 IMHO로 쓴 것입니다. 잘못된 부분이 있으면 덧글을 통해서 소통을 하면 더 좋은 글로 발전이 될 수 있을 것 같습니다. 그렇지만 소통을 할 때 서로의 감정을 존중하는 선에서 해주셨으면 좋겠습니다. 감사합니다:)


SQL (Structered Query Language)

  • 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
  • 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안
  • SQL은 데이터베이스로부터 정보를 얻거나 갱신하기 위한 표준 대화식 프로그래밍 언어
  • 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택

SQL 문법의 종류 3가지

  • DDL
  • DML
  • DCL

데이터 정의 언어 - ( DDL : Data Definition Language )

테이블이나 관계의 구조를 생성하는데 사용

  • CREATE - 새로운 데이터베이스 관계 (테이블) View, 인덱스 , 저장 프로시저 만들기.
  • DROP - 이미 존재하는 데이터베이스 관계 ( 테이블 ) , 뷰 , 인덱스 , 저장 프로시저를 삭제한다.
  • ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경 , RENAME의 역할을 한다.
  • TRUNCATE - 관계 ( 테이블 )에서 데이터를 제거한다. ( 한번 삭제시 돌이킬 수 없음.)

프로시저 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합

  • 특정 작업을 수행 하는 BLOCK
  • 자주 사용되는 SQL문을 DB 객체로 생성해서 저장한 후 사용시에 프로시저명을 호출해서 사용
  • 매개 변수를 받을 수 있고, 반복적으로 사용

데이터 조작 언어 - ( DML : Data Manipulation Language )

테이블에 데이터 검색, 삽입, 수정, 삭제하는 데 사용

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

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

데이터의 사용 권한을 관리하는 데 사용

  • GRANT - 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여한다.
  • REVOKE - 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 박탈 or 회수 한다.

데이터베이스 사용자에게 GRANT 및 REVOKE로 설정 할 수 있는 권한.

  • CONNECT - 데이터베이스 or 스키마에 연결하는 권한.
  • SELECT - 데이터베이스에서 데이터를 검색할 수 있는 권한
  • INSERT - 데이터베이스에서 데이터를 등록(삽입)할 수 있는 권한
  • UPDATE - 데이터베이스의 데이터를 업데이트 할 수 있는 권한
  • DELETE - 데이터베이스의 데이터를 삭제할 수 있는 권한.
  • USAGE - 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한

DELETE, TRUNCATE, DROP의 차이

  • DELETE
    • 데이터는 지워지지만 테이블 용량은 줄어 들지 않는다.
    • 원하는 데이터만 지울 수 있다.
    • 잘못 삭제 한 경우 삭제한것을 되돌릴 수 있다.
  • TRUNCATE
    • 삭제후 용량이 줄어들고 인덱스 등도 모두 삭제된다.
    • 테이블이 삭제 되지는 않으나 데이터만 삭제한다.
    • 선택해서 지울 수 없다.
    • 삭제 후 절대 되돌릴 수 없다
  • DROP
    • 테이블 전체를 삭제, 공간, 객체를 삭제한다,
    • 삭제 후 절대로 되돌릴 수 없다.

참고 SQL정의 :
[https://ko.wikipedia.org/wiki/SQL]

ddl,dml,dcl 차이:
https://brownbears.tistory.com/180
https://zzdd1558.tistory.com/88

프로시저란? https://ko.wikipedia.org/wiki/%EC%A0%80%EC%9E%A5_%ED%94%84%EB%A1%9C%EC%8B%9C%EC%A0%80



SKencardb Share Tweet +1