반응형

SQL은 DBMS에서 사용 하는 표준언어이다. C언어나 파이썬 언어와 같은 프로그래밍 언어는 절차적 언어이지만 SQL은 데이터를 다루는 집합적 언어이다. SQL를 익히면 DBMS마다 약간의 기능 제공차이가 있지만 DBMS 상관 없이 db를 사용할 수 있다. SQL은 크게 DDL, DML, DCL로 나눠진다. 각각의 차이점을 알아보자.


DDL

DDL의 약자를 살펴보자. Data Definition Language 이다. DDL은 데이터 정의 언어이다. DDL은 데이터 정의를 하게 되는데 데이터 정의라 함은 데이터베이스 객체들을 정의 하는 것이다. 데이터베이스 객체는 테이블, 뷰, 인덱스, 시노님, 시퀀스, 파티션 테이블을 포함한다.

데이터를 정의하기 위해서 객체들을 생성, 삭제, 변경을 할 수 있다.

  • CREATE : 데이터베이스 객체를 생성한다.
  • DROP : 데이터베이스 객체를 영구 삭제한다. (테이블을 통째로 삭제, 공간 삭제)
  • ALTER : 데이터베이스 객체를 수정한다.
  • TRUNCATE : 테이블의 데이터를 통째로 삭제한다. (테이블 내의 전체 데이터 삭제, 공간 삭제)


DML

DML의 약자를 살펴보자. Data Manipulation Language 이다. DML은 데이터 조작 언어이다. 데이터베이스 내의 데이터를 조작(데이터 추출, 생성, 수정, 삭제) 할 수 있다.

  • SELECT : 데이터를 추출(조회)
  • INSERT : 데이터를 생성
  • UPDATE : 데이터를 수정
  • DELETE : 데이터를 삭제 (테이블 내의 테이터 삭제, 공간 유지) 
  • COMMIT : 트잰잭션 처리
  • ROLLBACK : 트랜잭션 복구


DCL

DCL의 약자를 살펴보자. Data Control Lanaguage 이다. 사용자에게 권한을 주거나 회수한다.

  • GRANT : 권한 부여
  • REVOKE : 권한 회수


개발자들이 제일 많이 사용하는 것은 DML이다. 개발 담당자는 DDL을 많이 사용하지 않는다. 흔히 회사에서는 개발팀과 운영팀으로 나뉘어지는데 개발자들은 DML을 많이 사용하게 되고 DBMS를 운영하는 운영팀에서는 DDL을 많이 사용한다.

반응형

+ Recent posts