[2023 정보처리기사] 3과목 – 19. SQL – DDL(Data Define Language)

1. DDL(Data Define Language)의 정의

: 데이터 정의어로서 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어.

명령어: CREATE, ALTER, DROP 등

 

2. CREATE

: 테이블, 스키마, 도메인, 인덱스, 뷰를 생성할 때 사용.

  • 테이블의 생성: CREATE TABLE 테이블이름;
  • 스키마의 생성: CREATE SCHEMA 스키마이름;
  • 도메인의 생성: CREATE DOMAIN 도메인이름;
  • 인덱스의 생성: CREATE INDEX 인덱스이름;
  • 뷰의 생성: CREATE VIEW 뷰이름;

 

3. ALTER

: 테이블에 대한 정의를 변경할 때 사용.

  • 속성의 추가: ALTER TABLE 테이블이름 ADD 속성명 [data_type];

Ex) ALTER TABLE 학생 ADD 학년 VARCHAR(2);

– “학생”테이블에 최대 2문자의 “학년”속성 추가.

  • 속성의 기본값 변경: ALTER TABLE 테이블이름 ALTER 속성명;

Ex) ALTER TABLE 학생 ALTER 전공 VARCHAR(10);

– “학생”테이블의 “전공”속성을 최대 10문자로 변경 .

  • 속성의 삭제: ALTER TABLE 테이블이름 DROP COLUMN 속성명;

EX) ALTER TABLE 학생 DROP COLUMN 학번;

– “학생”테이블의 “학번”속성을 삭제.

 

4. DROP

: 테이블, 스키마, 도메인, 인덱스, 뷰를 삭제할때 사용.

  • 테이블의 삭제: DROP TABLE 테이블이름 [*CASCADE | *RESTRICT];
  • 스키마의 삭제: DROP SCHEMA 스키마이름;
  • 도메인의 삭제: DROP DOMAIN 도메인이름;
  • 인덱스의 삭제: DROP INDEX 인덱스이름;
  • 뷰의 삭제: DROP VIEW 뷰이름;

*CASCADE: 해당 요소를 참조하는 다른 모든 개체를 함께 삭제한다. (연쇄삭제)

*RESTRICT: 해당 요소를 다른 개체가 참조중일 때는 제거취소.

Ex) DROP TABLE 학생 CASCADE;

– “학생”테이블을 삭제하며, “학생”테이블을 참조하는 모든 테이블을 함께 삭제.

 

Leave a Comment