본문 바로가기
정보보안/DB,SQL

SQL문법 3종류 짧고 굵게 정리- DDL, DML, DCL

by 우동이 2022. 8. 15.
300x250


SQL 이란.

SQL(Structured Query Language) 구조절 질의 언어로 RDBMS(Relational DataBase Magagement System) 관계형 데이터 베이스에서 수많은 데이터를 처리 및 관리하기 위해 설계된 관리 목적의 프로그래밍 언어입니다.

쉽게 말해 특수 목적성을 띄는 언어인데
DB에서 수없이 많은 데이터를 일괄적으로 관리하기 위해 만들어졌다고 보면 됩니다.

현재 DB는 RDBMS(관계형 데이터베이스)와 NoSQL(Not Only SQL)의 두 가지 종류가 존재하며
기존 SQL 언어 기준 테이블간의 관계를 정립해야만 하는 RDBMS와는 달리
SQL만을 사용하지 않으며 각 DB별 다른 저장기술을 가진 게 NoSQL입니다.


SQL의 문법 3종류

SQL 언어의 문법은 크게 3종류로 나뉩니다.

  • DDL (Data definition language)
  • 데이터를 정의하기 위한 언어입니다. 데이터를 저장하기 위한 스키마, 데이터베이스의 생성/수정/삭제 등의 행위를 수행합니다.
  • DML (Data manipulation language)
  • 데이터를 조작하기 위한 언어입니다. 실제 데이터베이스 내에 존재하는 데이터에 대해 조회/저장/수정/삭제 등의 행위를 수행합니다.
  • DCL (Data control language)
  • 데이터베이스의 접근 권한 등의 설정을 하기 위한 언어입니다. 데이터베이스 내에 사용자의 사용 권한을 부여하기 위한 GRANT와 권한을 박탈하는 REVOKE가 대표적입니다.


실제 SQL에서 사용되는 문법들을 아래 3가지의 형태로 나누어볼 수 있습니다


DDL(Data definition language)

  • CREATE - 개체를 생성합니다. // 데이터가 들어갈 테이블을 만든다는 뜻입니다.
  • ALTER - 개체를 수정합니다. // 생성한 테이블의 값이나 테이블 자체를 수정합니다.
  • DROP - 개체를 삭제합니다. // 생성한 테이블을 삭제합니다.
  • TRUNCATE - 개체를 초기화합니다. // 생성한 테이블을 초기화하여 생성 당시로 되돌립니다.

DML(Data manipulation language)

  • SELECT - 데이터를 조회합니다. // 테이블에 저장된 데이터를 조회해 확인할 수 있습니다.
  • INSERT - 데이터를 추가합니다. // 테이블에 데이터를 추가할 수 있습니다.
  • UPDATE - 데이터를 수정합니다. // 테이블에 추가되어있는 데이터를 수정합니다.
  • DELETE - 데이터를 삭제합니다. // 테이블에 추가된 데이터를 삭제할 수 있습니다.

DCL (Data control language)

  • GRANT - 유저에게 권한을 부여합니다. // 테이블을 사용할 수 있는 권한을 [부여]합니다.
  • REVOKE - 유저의 권한을 회수합니다. // 테이블을 사용할 수 있는 권한을 [회수]합니다.
  • COMMIT - 작업 완료 후 저장과 알림 // 자신이 DB에서 행한 모든 작업이 저장되어 덮어쓰기 되고 그 작업의 완료 알람이 관리자에게 알려진다는 의미입니다.
  • ROLLBACK - 비정상 종료된 작업을 복구합니다. // 말 그대로 비정상적인 종료 시 기존 저장상태로 복구합니다.


DB를 관리하는 SQL이라는 언어
배우기 전에는 까다롭고 거부감이 드는데(저는 그랬습니다.)
막상 배워보면 별게 없습니다.
위 12개의 문법만 가지고 주야장천 조합해서 사용합니다.

특히 보안 분야에서라면 SQL 언어에 대한 숙련도가 높으면 높을수록 좋습니다.

300x250

댓글