프로그래밍/DB

DDL과 DML, DCL, TCL

Baesj 2021. 9. 14. 15:38

DDL(DATA DEFINITION LANGUAGE)

데이터 정의 언어

테이블을 생성하고 생성된 테이블의 구조를 변경하는 명령어

CREATE TABLE

 : 테이블 생성

CREATE TABLE `practicedb`.`member_tb` (
  `member_id` INT NOT NULL,
  `member_nm` VARCHAR(100) NULL,
  PRIMARY KEY (`member_id`));

DROP TABLE

 : 테이블 삭제

DROP TABLE `practicedb`.`member_tb`;

ALTER TABLE

 : 테이블 변경

ALTER TABLE `practicedb`.`member_tb` 
ADD COLUMN `member_age` INT NULL AFTER `member_nm`;

TRUNCATE

 : 테이블에 들어있는 모든 행 삭제

 : DELETE와 처리 방식이 다르다

 : 테이블 전체를 삭제하려면 DELETE보다 시스템 부하가 적은 TRUNCATE를 사용할 것

 : TRUNCATE는 정상적이 복구가 불가능하므로 주의할 것

TRUNCATE `practicedb`.`member_tb`;

 

DML(DATA MANIPULATION LANGUAGE)

데이터 조작 언어

데이터를 조작하기 위한 명령어

INSERT

 : 데이터 삽입

INSERT INTO `practicedb`.`member_tb` (`member_id`, `member_nm`) VALUES ('1', 'A');

UPDATE

 : 데이터 수정

UPDATE `practicedb`.`member_tb` SET `member_nm` = 'B' WHERE (`member_id` = '1');

DELETE

 : 데이터 삭제

DELETE FROM `practicedb`.`member_tb` WHERE (`member_id` = '1');

SELECT

 : 데이터 조회

SELECT * FROM practicedb.member_tb;

DCL(DATA CONTROL LANGUAGE)

데이터 제어 언어

데이터베이스에 권한 부여

GRANT

 : 특정 데이터베이스에 대한 사용자의 액세스 권한 제공

REVOKE

 : 특정 데이터베이스에 대한 사용자의 액세스 권한 박탈

 

TCL(TRANSACTION CONTROL LANGUAGE)

트랜잭션 조작 언어

트랜잭션을 제어하기 위한 명령어

COMMIT

 : 트랜잭션을 완료

ROLLBACK

 : 변경사항을 취소

SAVEPOINT

 : 저장점(SAVEPOINT)를 정의하면 롤백할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 SAVEPOINT까지 트랜잭션의 일부만 롤백할 수 있다.

 

'프로그래밍 > DB' 카테고리의 다른 글

정규화에 대해서  (0) 2021.10.08
관계  (0) 2021.09.15
인덱스(Index)  (0) 2021.09.14
정규화(Normalization)와 반정규화(De-Normalization)  (0) 2021.09.09
트랜잭션 이해 2 - 격리, 단계, 수준  (0) 2021.09.07