Back-end/DataBase

SQL - DDL 이란? / DCL 이란?

cheersHena 2018. 6. 14. 18:33
반응형

SQL (Structured Query Language)




DDL 데이터 정의 언어 Data Definition Language.

: 데이터를 수집하기 위한 구조 를 정의하는 언어. 


CREATE 생성. / DROP 삭제  / ALTER 변경.



DBMS 에서 데이터베이스의 구조를 정의하기 위해 사용되는 SQL의 문법.
스키마, 데이터베이스, 테이블, 뷰, 인덱스 등을 생성/ 변경/ 삭제 하는데 사용됨.


CREATE 생성

CREATE DATABASE [database name];

CREATE TABLE [table name](
컬럼명 1 데이터타입 제약조건,  
컬럼명 2 데이터타입 제약조건,  
컬럼명 3 데이터타입 제약조건,  
PRIMARY KEY(PK컬럼명) // 중복 허용or비허용 관여.
);


DROP 삭제 
DROP DATABASE [database name];
DROP TABLE [table name];

ALTER 수정
: 칼럼 추가,삭제, 칼럼이름이나 테이블 이름 바꾸는 작업 시..



some example) 


CREATE DATABASE [DB명];
⇢ CREATE DATABASE ERP;



CREATE TABLE [table명](
컬럼명 1 데이터타입 제약조건,  
컬럼명 2 데이터타입 제약조건,  
컬럼명 3 데이터타입 제약조건,  
PRIMARY KEY(PK컬럼명) // 중복 허용or비허용 관여.
);
⇢ CREATE TABLE employees (
emp_num VARCHAR(10) NOT NULL,
name VARCHAR(100) NOT NULL,
contact_num VARCHAR(15) NOT NULL,
PRIMARY KEY(emp_num)
);

DROP DATABASE [DB명];
 ⇢ DROP DATABASE ERP;

CREATE DATABASE exam;
CREATE TABLE  free_board(
post_no INT AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
content VARCHAR(10000) NOT NULL,
writer VARCHAR(100) NOT NULL,
hit INT default '0',
like_hit INT default '0',
dislike_hit INT default '0',
PRIMARY KEY(post_no) 
);

CREATE TABLE  statement(

att_seq INT NOT NULL AUTO_INCREMENT,

att_type VARCHAR(1) NOT NULL,

occur_date INT NOT NULL,

deposit INT default '0',

withdraw INT default '0',

balance INT default '0',

occurrence VARCHAR(100),

create_date DATETIME,

PRIMARY KEY(att_seq) 

);

CREATE TABLE spent_hist(
seq INT AUTO_INCREMENT,
spent_amt INT NOT NULL,
expense_type VARCHAR(10) NOT NULL,
source VARCHAR(50) NOT NULL,
spent_date DATETIME NOT NULL,
smmr VARCHAR(100),
PRIMARY KEY(seq),
FOREIGN KEY(user_no) REFERENCES user(user_no)
);

***테이블 구조 표시: desc [table명].



ALTER TABLE [table]
          CHANGE[기존컬럼명] [새컬럼명] [자료형] [제약조건]
ALTER TABLE spent_hist
          CHANGE source source VARCHAR(50);


DCL 데이터 제어 언어 Data Control Language.

: 데이터 베이스에 접근하고 객체들의 사용 권한을 관리, 회수하는 명령어


GRANT 데이터베이스 객체에 권한 부여

REVOKE 이미 부여된 데이터베이스 객체 권한 취소 



TCL 트랜젝션 제어 언어 Transaction Control Language.

: 논리 작업 단위 묶어 DML에 의해 조작된 결과를 작업단위(트랜잭션)별로 제어하는 명령어


COMMIT 변경사항 저장 

ROLLBACK 변경사항 취소 





반응형