컴공생의 다이어리

DDL 명령어 - 생성(CREATE), 수정(ALTER), 삭제(DROP, TRUNCATE) 본문

자격증/정보처리기사

DDL 명령어 - 생성(CREATE), 수정(ALTER), 삭제(DROP, TRUNCATE)

컴공 K 2021. 4. 7. 00:01

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

 - DDL은 데이터를 정의하는 언어로서 '데이터를 담는 그릇을 정의하는 언어'

 - 테이블과 같은 데이터 고조를 정의하는 데 사용되는 명령어들로 특정 구조를 생성, 변경, 삭제, 이름을 바꾸는 데이터 구조와 관련된 명령어들

 

 

DDL 명령어

DDL 명령어는 CREATE, ALTER, DROP, TRUNCATE가 있다.

구분 DDL 명령어 설명
생성 CREATE 데이터베이스 오브젝트 생성하는 명령어
수정 ALTER 데이터베이스 오브젝트 변경하는 명령어
삭제 DROP 데이터베이스 오브젝트 삭제하는 명령어
TRUNCATE 데이터베이스 오브젝트 내용 삭제하는 명령어

 

생성(CREATE)

▶ CREATE TABLE

 - CREATE TABLE은 테이블을 생성하는 명령

 - CREATE TABLE에서 하나의 컬럼(속성)에 대해 '컬럼명 데이터타입 제약조건'으로 구성

CREATE TABLE 테이블명
(
	컬럼명 데이터타입 [제약조건],
	...
);

 

 - CREATE TABLE의 제약조건

제약조건 설명
PRIMARY KEY - 테이블의 기본 키를 정의
- 유일하게 테이블의 각 행을 식별
FOREIGN KEY - 외래 키를 정의
- 참조 대상을 테이블(컬럼명)로 명시
- 열과 참조된 테이블의 열 사이의 외래 키 관계를 적용하고 설정
UNIQUE - 테이블 내에서 얻은 유일한 값을 갖도록 하는 제약조건
NOT NULL - 해당 컬럼은 NULL 값을 포함하지 않도록 하는 제약조건
CHECK - 개발자가 정의하는 제약조건
- 참(TRUE)이어야 하는 조건을 지정
DEFAULT 데이터를 INSERT를 할 때 해당 컬럼의 값을 넣지 않는 경우 기본값으로 설정해주는 제약조건

 

 

▶ CREATE VIEW

 - CREATE VIEW는 뷰를 생성하는 명령

CREATE VIEW 뷰이름 AS 조회쿼리;

 - VIEW 테이블의 SELECT 문에는 UNION이나 ORDER BY 절을 사용할 수 없음

 - 컬럼명을 기술하지 않으면 SELECT 문의 컬럼명이 자동으로 사용

 

 

▶ CREATE OR REPLACE VIEW 기본문법

 - CREATE OR REPLACE VIEW는 뷰를 교체하는 명령

 - OR REPLACE라는 키워드를 추가하는 것을 제외하고는 CREATE VIEW와 사용 방법이 동일

CREATE OR REPLACE VIEW 뷰이름 AS 조회쿼리;

 

 

▶ CREATE INDEX

 - CREATE INDEX는 인덱스를 생성하는 명령

 - UNIQUE는 생략 가능

 - 인덱스 걸린 컬럼에 중복 값을 혀용하지 않음

 - 복수 컬럼을 인덱스로 걸 수 있음

CREATE [UNIQUE] INDEX 인덱스명 ON 테이블명(컬럼명1, 컬럼명2, ...);

 

 

 

수정(ALTER)

▶ ALTER TABLE

 - ALTER TABLE은 테이블을 수정하는 명령

 

 

▶ ALTER TABLE 컬럼 추가

 - 테이블에 필요한 컬럼을 추가하는 문법

 - CREATE TABLE의 컬럼에 사용되는 제약조건인 PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK, DEFAULT를 ALTER TABLE에서도 사용 가능

ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 [제약조건];

 

 

▶ ALTER TABLE 컬럼 수정

 - 테이블에 필요한 컬럼을 수정하는 문법

 - 테이블 생성을 위한 CREATE 문에 제약조건을 명시 후에 ALTER를 통해 테이블 제약조건의 변경이 가능

ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입 [제약조건];

 

 

▶ ALTER TABLE 컬럼 삭제

 - 테이블에 불필요한 컬럼을 삭제하는 문법

ALTER TABLE 테이블명 DROP 컬럼명;

 

 

▶ ALTER INDEX

ALTER [UNIQUE] INDEX 인덱스명 ON 테이블명(컬럼명1, 컬럼명2, ...);

 

 

 

삭제(DROP, TRUNCATE)

▶ DROP TABLE

 - DROP TABLE은 테이블을 삭제하는 명령

DROP TABLE 테이블명 [CASCADE | RESTRICT];

 - DROP TABLE 명령어의 옵션에는 CASCASE와 RESTRICT가 있음

   - CASCADE는 참조하는 테이블까지 연쇄적으로 제거하는 옵션

   - RESTRICT는 다른 테이블이 삭제할 테이블을 참조 중이면 제거하지 않는 옵션

 - CASCADE와 RESTRICT의 경우 외래 키(FOREIGN KEY)가 걸려 있을 때 해당

 

 

▶ TRUNCATE TABLE

 - TRUNCATE TABLE은 테이블 내의 데이터들을 삭제하는 명령

TRUNCATE TABLE 테이블명;

 

 

▶ DROP VIEW

DROP VIEW 뷰이름;

 

 

▶ DROP INDEX

 - DROP INDEX는 인덱스를 삭제하는 명령어

DROP INDEX 인덱스명;

 

 

참고

www.yes24.com/Product/Goods/97783172?OzSrank=1

 

수제비 정보처리기사 실기 1권+2권 합본세트(2021)

NCS 반영! 출제기준 전면개편NCS 기반 반영 문제(예상문제, 단원종합문제, 모의고사, 2020년 기출문제) 수록 수제비는 합격만을 위한 다양한 학습 콘텐츠 제공 -첫째! NCS 기반 명견만리 모의고사 5회

www.yes24.com

728x90
Comments