자격증 공부📖/SQLD

[SQLD SQL 기본] SQL문의 종류

hyunsix 2021. 5. 16. 16:49

SQL 문법의 종류 4가지 

 

1. 데이터 정의어( DDL : Data Definition Language)

- 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 부른다. 테이블 자체의 관계나 구조를 생성하거나 수정하는데 사용하는 명령어이다.

  • CREATE : 새로운 데이터베이스 관계 (테이블) 만들기
  • DROP : 이미 존재하는 데이터베이스 관계 (테이블) 자체를 삭제한다. ( 한번 삭제시 복구 불가 )
  • ALTER : 이미 존재하는 데이터베이스 관계 (테이블)에 대한 수정 작업
  • TRUNCATE : 테이블에서 데이터를 제거한다. ( 한번 삭제시 복구 불가 )

 

2. 데이터 조작어 ( DML : Data Manipulation Language)

- 데이터베이스에 들어있는 데이터를 조회/검색/변형 하기 위한 명령어이다. 테이블안의 데이터를 직접적으로 컨트롤하는 명령어이다.

  • SELECT : 데이터 조회
  • INSERT : 데이터 삽입
  • UPDATE : 데이터 수정
  • DELETE : 데이터 삭제

 

여기서 잠깐!! 🤔🤔🤔 DROP vs TRUNCATE vs DELETE ❓❓❓❓❓❓

모두 다 삭제하는 명령어인 것은 맞지만! 아래와 같이 조금 성격이 다르다.

  • DLELETE : 데이터만 지우는 것! 원하는 데이터만 지울 수 있다. 잘못 삭제해도 복구 가능!
  • TRUNCATE : 삭제 후 용량 줄어들고, 모든 데이터가 삭제된다! 테이블이 삭제되지 않으나 데이터가 뭉탱이로 (데이터 선택 불가)다 삭제되므로 복구 불가능하다
  • DROP : 테이블, 데이터 할 것 없이 그냥 database 세상에서 삭제시켜 버리는 것! 매우 무서운 친구,,, 당연히 복구 절대 불가

 

3. 데이터 제어어 ( DCL : Data Control Language)

- 데이터베이스에 접근하고 객체들을 사용하도록 권한부여 or 회수하는 명령어

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

어떤 권한을 ? CONNECT / SELECT / INSERT / UPDATE / DELETE / USAGE

 

4. 트랜잭션 제어어 ( TCL : Transaction Control Language)

- 논리적인 작업 단위를 묶어서 DML에 의해 조작된 결과를 작업 단위별로 적용 및 취소하는 명령어

  • COMMIT : 모든 작업을 정상 처리하겠다고 확정하는 명령어, commit을 수행하면 하나의 트랜잭션 과정을 종료하게 된다.
  • ROLLBACK : 작업 중 문제 발생 시, 트랜잭션의 처리과정에서 발생한 변경사항을 취소하고 이전 상태로 돌아간다.