- 정의된 데이터베이스에 입력된 레코드를 조회,수정,삭제 등의 역할을 하는 언어
- 종류
- SELECT : 데이터 조회
- INSERT : 데이터 삽입
- UPDATE : 데이터 수정
- DELETE : 데이터 삭제 등이 있음.
- 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어
- DML 명령은 자동 커밋되지 않음 -> 롤백 할 수 있음
- 조작하려는 테이블을 메모리 버퍼에 올려놓고 작업을 하기 때문에 실시간으로 테이블에 영향을 미치지 않음 -> 버퍼에서 처리한 DML 명령어가 실제 테이블에 반영되기 위해서는 COMMIT 명령어를 통해 TRANSACTION을 종료해야 한다.
- 데이터베이스 구조 또는 스키마를 정의하는데 사용
- 종류
- CREATE : 데이터베이스, 테이블등을 생성
- ALTER : 테이블을 수정
- DROP : 데이터베이스, 테이블을 삭제
- TRUNCATE : 테이블을 초기화 등이 있음.
- 직접 데이터베이스의 테이블에 영향을 미치기 때문에 DDL 명령어를 입력하는 순간, 명령어에 해당하는 작업이 즉시 완료(Auto COMMIT)됨.
- 데이터베이스에 권한 부여
- 종류
- GRNAT : 데이터베이스에 대한 사용자의 엑세스 권한을 제공(특정 사용자만 특정 작업을 할 수 있도록 지정 가능)
- REVOKE : GRANT 명령으로 주어진 액세스 권한 철회
- 직접 데이터베이스의 테이블에 영향을 미치기 때문에 DCL 명령어를 입력하는 순간, 명령어에 해당하는 작업이 즉시 완료(Auto COMMIT)됨.
- 데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용
- 종류
- COMMIT : 트랜잭션 작업 결과를 저장 반영(트랜잭션 완료)
- ROLLBACK : 데이터베이스를 마지막 COMMIT 된 시점의 상태로 복원
- SAVEPOINT : SAVEPOINT를 정의하면 ROLLBACK할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 SAVEPOINT까지 트랜잭션의 일부만 롤백할 수 있다.