SQL은 데이터를 읽고 쓰고 삭제하는 등 데이터를 관리하기 위한 프로그램 언어이다.
SQL 은 크게 DDL, DML, DCL 로 나눌 수 있다.
DDL (DATA DEFINITION LANGUAGE, 데이터 정의어)
→ 데이터 베이스 객체를 관리하는 언어
CREATE : 테이블, 인덱스, 뷰 등 데이터베이스 객체 생성
DROP : 생성된 데이터베이스 객체 영구 삭제
ALTER : 데이터베이스 객체 수정
TRUNCATE : 테이블의 데이터만 삭제
DML (DATA MANIPULATIN LANGUAGE, 데이터 조작어)
→ 데이터 삽입, 조회, 삭제, 갱신 등 실제로 데이터를 조작하는 언어
SELECT
INSERT
UPDATE
DELETE
COMMIT : 트랜잭션 처리, 변경된 데이터 최종 적용
ROLLBACK : 트랜잭션 처리, 변경된 데이터 적용하지 않고 이전상태로 되돌림
DCL(DATA CONTROL LANGUAGE, 데이터 제어 언어)
→ 사용자의 권한을 관리하는 언어
GRANT : 권한 부여
REVOKE : 권한 박탈
📏 DROP vs TRUNCATE vs DELETE의 차이
DROP
→ 테이블 자체를 완전히 삭제한다. 삭제 후 되돌릴 수 없다.
DROP TABLE 테이블명;
TRUNCATE
→ 테이블 내에 있는 데이터를 통째로 삭제한다. (WHERE 조건을 사용해 특정 데이터만 삭제 불가)
테이블을 최소 생성된 초기 상태로 만든다.
TRUNCATE TABLE 테이블명;
DELETE :
→ where 를 사용해서 데이터를 선택해 삭제할 수 있다.
commit 하기 전에는 rollback 이 가능하다.
DELETE FROM 테이블명;
'Database' 카테고리의 다른 글
CASE WHEN (0) | 2022.12.07 |
---|---|
데이터베이스 객체 알아보기 (0) | 2022.12.07 |
[oracle] null 처리하기 (NVL, NVL2 함수) (0) | 2022.11.30 |
서브쿼리(SubQuery) (0) | 2021.09.08 |
JOIN (0) | 2021.09.08 |