SQL의 종류

데이터 조작 언어(DML)

데이터베이스 내에서 데이터를 조작하는 데 사용되는 명령입니다.

대표적인 명령어로는 select, update, delete, merge가 있다.

select * from A

update TABLE set COLUME = 값 where (조건)

delete from TABLE where (조건)

#ms-sql에서만 존재함
merege

DDL(데이터 정의 언어)

DDL 문은 데이터베이스 개체를 생성, 수정 및 삭제하는 데 사용됩니다.

특이하게도 DDL을 실행한 후 자동 커밋이 있습니다.

대표적인 명령어로는 create, alert, delete, 자르다, 이름 바꾸기존재합니다.

CREATE TABLE (field type PRIMARY KEY, field type, field type)

#테이블 컬럼 추가
ALTER TABLE ADD field type

#테이블 컬럼 수정
ALTER TABLE MODIFY field type

#테이블 컬럼 삭제
ALTER TABLE DROP COLUMN field

DROP TABLE table-name

#table의 모든 내용을 삭제 단 데이터 형식은 유지됨 drop문과의 차이점
TRUNCATE TABLE table-name;

RENAME table_name TO new_table_name;

DCL(데이터베이스 제어) 언어)

DCL은 데이터베이스에서 권한 부여 및 취소, 트랜잭션 제어와 같은 데이터베이스 관리를 위한 언어입니다.

가장 중요한 DCL 명령에는 GRANT, REVOKE, COMMIT 및 ROLLBACK이 포함됩니다.

#GRANT: 특정 사용자나 롤(Role)에 대해 데이터베이스 객체에 대한 권한을 부여합니다.
GRANT 권한 ON 객체_유형 객체_이름 TO 사용자_이름; #REVOKE: 특정 사용자나 롤(Role)에 대해 데이터베이스 객체에 대한 권한을 취소합니다.
REVOKE 권한 ON 객체_유형 객체_이름 FROM 사용자_이름; #COMMIT: GRANT, REVOKE등의 변경 내용을 데이터베이스에 영구적으로 저장합니다 COMMIT; #ROLLBACK: 트랜잭션의 변경 내용을 취소하고 이전 상태로 되돌립니다.
ROLLBACK;

TCL(데이터베이스 제어) 언어)

TCL은 데이터베이스에서 트랜잭션을 관리하기 위한 언어입니다.

가장 중요한 TCL 명령에는 COMMIT, ROLLBACK 및 SAVEPOINT가 포함됩니다.

#COMMIT: 트랜잭션의 변경 내용을 데이터베이스에 영구적으로 저장합니다.
COMMIT; #ROLLBACK: 트랜잭션의 변경 내용을 취소하고 이전 상태로 되돌립니다.
ROLLBACK; #SAVEPOINT: 트랜잭션 내에서 저장점을 설정하여 특정 시점에서 변경 내용을 되돌릴 수 있습니다.
SAVEPOINT 저장점_이름;

DCL 커밋과 TCL 커밋의 차이점

TCL의 COMMIT는 트랜잭션 내에서 이루어진 모든 변경 사항을 데이터베이스에 영구적으로 저장하는 명령입니다.
즉, 데이터베이스 변경 완료 및 트랜잭션 종료를 담당합니다.
DCL의 COMMIT는 다음과 같은 데이터베이스 관리 작업을 위한 명령입니다.
나. 데이터베이스 권한 부여 또는 철회, 트랜잭션과 직접적인 관련이 없음.

TCL 커밋 예

START TRANSACTION;
UPDATE employees SET salary = salary + 500 WHERE department="Sales";
COMMIT;

DCL 커밋 예

GRANT SELECT ON employees TO new_user;
COMMIT;