Base/Database

[Database] DDL(데이터 정의어), DML(데이터 조작어), DCL(데이터 제어어) 이란?

반응형

DDL( Data Definition Language ) - 데이터 정의어

컴퓨터 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터의 데이터를 정의하는 컴퓨터 언어 또는 컴퓨터 언어 요소이다.

DDL에서는 이렇듯 데이터 정의를 하게 되는데 여기서 쓰는 데이터 정의는 데이터베이스 객체들을 정의 하는 것이다. 데이터베이스 객체는 테이블, 뷰, 인덱스, 시퀀스, 파티션 테이블 등등이 있다.

 

종류

  • CREATE - 새로운 데이터베이스 관계 (테이블), VIEW, 인덱스, 저장 프로시저 만들기
  • DROP - 이미 존재하는 데이터베이스 관계(테이블), 뷰, 인덱스, 저장 프로시저를 제거한다.
  • ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경, RENAME의 역할을 한다.
  • TRUNCATE - 관계 (테이블)에서 데이터를 돌이킬 수 없는 제거

 

구문

--CREATE 구문
CREATE TABLE 테이블 이름 (        
	컬럼명1 DATATYPE [DEFAULT 형식],        
	컬럼명2 DATATYPE [DEFAULT 형식],        
	컬럼명3 DATATYPE [DEFAULT 형식])
;

--DROP 구문
DROP TABLE 테이블명 [CASCADE CONSTRAINT];

DROP TABLE 테이블명;

--ALTER 구문
ALTER	TABLE 테이블명	[ADD/DROP/RENAME/MODIFY]	컬럼명	데이터타입


--TRUNC 구문
TRUNCATE TABLE 테이블명

 

DML (Data Manipulation Lanaguage ) - 데이터 조작어

데이터베이스 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터 데이터베이스에 대해 데이터 검색, 등록, 삭제, 갱신을 위한, 데이터베이스 언어 또는 데이터베이스 언어 요소이다. 

간단하게 데이터베이스 테이블에 들어가는 데이터에 대해 여러가지 조작을 하는 것이다.

 

종류 

  • SELECT : 데이터를 추출(조회)
  • INSERT : 데이터를 생성
  • UPDATE : 데이터를 수정
  • DELETE : 데이터를 삭제 (테이블 내의 테이터 삭제, 공간 유지) 

 

구문

--SELECT

SELECT	컬럼명
FROM	테이블;

--INSERT

INSERT INTO 테이블_또는_뷰_이름 (컬럼1, [컬럼2, ...]) 
VALUES (값1, [값2, ...]);

INSERT INTO 테이블_또는_뷰_이름 
VALUES (값1, [값2, ...]);

--UPDATE

UPDATE	테이블명
SET	컬럼명= VALUE
WHERE 조건식;

--DELETE
DELECT	FROM	테이블명
WHERE	(조건식);

 

DCL (Data Control Lanaguage )

 

종류

  • GRANT : 사용자를 생성하고 , 사용자에 대한 권한 부여한다.
  • REVOKE : 사용자를 삭제하고, 사용자에 대한 권한을 회수한다.

구문

 

--GRANT
GRANT SELECT ON [테이블명] TO [사용자명];
GRANT INSERT ON [테이블명] TO [사용자명];
GRANT DELETE ON [테이블명] TO [사용자명];
GRANT UPDATE ON [테이블명] TO [사용자명];

--REVOKE
REVOKE SELECT ON [테이블명] FROM [사용자명];
REVOKE INSERT ON [테이블명] FROM [사용자명];
REVOKE DELETE ON [테이블명] FROM [사용자명];
REVOKE UPDATE ON [테이블명] FROM [사용자명];

 

반응형