데이터 조작 언어(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;