참고서적 : 누구나 쉽게SQL(홍형경 지음)
1. DDL(Data Definition Language)
DDL이란 데이터 정의어이며, 이는 RDBMS에서 테이블 등 데이터 베이스 객체들을 생성, 삭제, 수정하는 SQL을 의미한다.
다음과 같은 종류가 있다.
CREATE : 객체를 생성한다.
DROP : 객체를 삭제한다.
ALTER : 객체를 변경한다.
TRUNCATE TABLE : 테이블 내 모든 데이터를 삭제한다.
RENAME : 객체 이름을 변경한다.
2. DML(Data Manipulation Language)
DML이란 데이터 조작(입력,수정,삭제)어이며, 가장 많이 사용되는 SQL이다.
종류는 다음과 같다.
SELECT : 테이블이나 뷰에서 데이터를 조회한다.
INSERT : 데이터를 입력한다.
UPDATE : 기존 데이터를 수정한다.
DELETE : 테이블에 있는 데이터를 삭제한다.
MERGE : 조건에 따라 INSERT, UPDATE 수행
TRUNCATE TABLE 과 DELETE의 차이점
- TRUNCATE TABLE 을 실행했다면 삭제 후에 롤백이 되지 않는다.
- DELETE는 조건에 맞는 데이터만 삭제가 가능하며, 잘못 삭제할 경우 롤백이 가능하다.
3. TCL(Transaction Control Language)
들어가기전 Transaction에 대해 알아보고 가자. Transaction이란 '거래'이다. 예를 들어 은행 거래중에 서버가 다운된다고 하면, 돈이 인출은 되었지만 보내지지 않은거로 처리가 되는등 불상사가 일어날 수 도 있다. 이를 방지하기 위해서 DBMS에서는 작업이 정상적으로 끝난 후에 모든 변경내용이 저장되게 끔 한다.
TCL은 이 Transaction을 처리하는 문이다. 종류는 다음과 같다.
COMMIT : DML로 변경된 데이터를 DB에 적용
ROLLBACK : 이전 상태로 되돌리기
4. DCL(Data Control Language)
데이터 제어어란 객체에 대한 권한 할당 및 회수하는 SQL을 의미한다.
GRANT : 객체에 대한 권한 할당
REVOKE : 객체에 할당된 권한 회수
'DataBase > MySQL' 카테고리의 다른 글
터미널에서 외부 서버의 mysql / maria db 원격접속하기 (0) | 2022.04.05 |
---|---|
pymysql로 MySQL(or Maria DB) 접속하기 (0) | 2022.04.05 |
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 문제 발생시 해결법 (0) | 2020.06.26 |