컴공생의 다이어리
DDL 명령어 - 생성(CREATE), 수정(ALTER), 삭제(DROP, TRUNCATE) 본문
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 인덱스명;
참고
'자격증 > 정보처리기사' 카테고리의 다른 글
배치 프로그램(Batch Program)의 개념과 유형 (0) | 2021.04.13 |
---|---|
집합 연산자(Set Operator) (0) | 2021.04.12 |
트랜잭션(Transaction) 개념, 특성, 제어 (0) | 2021.04.06 |
요구사항 명세(Requirement Specification) 기법 (0) | 2021.03.25 |
[정보처리기사 필기] 2021년 1회 가답안(A형/B형) (0) | 2021.03.15 |