DBMS 데이터 언어 - DDL, DML, DCL, TCL의 정의
DML - (Data Mnipulation Language, 데이터 조작어)
SELECT : 데이터베이스에서 데이터를 검색
- ALL : 기본 옵션이므로 별도로 지정하지 않아도 되며, 중복되는 데이터가 있더라도 모두 출력
- DISTINCT : 중복된 데이터가 있는 경우 1건만 출력
INSERT : 테이블에 데이터를 삽입
UPDATE : 테이블 내의 기존 데이터를 수정
DELETE : 테이블에서 데이터를 삭제
- 테이블 전체 데이터를 삭제하는 경우, 시스템 활용 측면에서 삭제된 데이터를 로그로 저장
- DDL 의 DROP,TRUNCATE 와 다르게 저장된 로그가 있어 ROLLBACK사용 가능
MERGE : UPSERT 작업( INSERT 또는 UPDATE )
- 데이터 테이블에 존재하지 않으면 INSERT, 존재하면 UPDATE를 수행
DDL - (Data Definition Language , 데이터 정의어)
- 데이터베이스 구조 또는 스키마(schema)를 정의하는데 사용된다.
- DB 테이블에 직접 영향을 미치기 때문에 DDL 명령어를 입력하는 순간, 작업이 즉시 AUTO COMMIT 된다.
CREATE : 데이터베이스의 객체를 생성
ALTER : 데이터베이스의 구조를 변경
DROP : 데이터베이스의 객체를 삭제 (테이블의 모든 데이터와 구조를 삭제)
RENAME : 데이터베이스의 객체 이름을 변경
TRUNCATE : 테이블에 할당된 모든 공간을 포함하여 모든 레코드를 제거 ( 테이블 객체의 저장 공간 재사용 가능 )
DCL - (Data Control Language, 데이터 제어 언어)
- 데이터베이스에 권한 부여
- DDL 과 같이 DB 테이블에 직접 영향을 미치기 때문에 DCL 명령어를 입력하는 순간, 작업이 즉시 AUTO COMMIT 된다.
GRANT : 데이터베이스에 대한 사용자의 액세스 권한을 제공 ( 특정 사용자만 특정 작업을 할 수 있도록 지정 가능 )
REVOKE : GRANT 명령으로 주어진 액세스 권한을 철회
TCL - (Transaction Control Language, Transaction 제어 언어)
- 데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용
COMMIT : 트렌잭션의 작업 결과를 저장 반영 ( 트랜젝션 완료 )
ROLLBACK : DB를 마지막 COMMIT 된 시점의 상태로 복원 ,데이터변경 내용은 논리적인 트랜잭션으로 그룹화 가능
SAVEPOINT : 저장점을 정의하면 롤백할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 저장점까지 트랜잭션 일부만 롤백할 수 있다.
'Database' 카테고리의 다른 글
[SQL] 필드명이 예약어일 경우...!! (0) | 2023.01.13 |
---|---|
[SQL] 데이터 타입(Data Type) (0) | 2023.01.12 |
[SQL] 테이블의 구조와 설명을 알 수 있는 desc!! (0) | 2023.01.11 |
[SQLD] 엔터티(ENTITY), 속성(ATTRIBUTE), 관계(RELATION) (0) | 2022.09.02 |
[SQLD] SELECT, NULL (0) | 2022.09.02 |
댓글