[Oracle/SQL] DDL, 데이터 정의 언어

yuseon Lim·2021년 5월 11일
0

Oracle SQL

목록 보기
3/5
post-custom-banner

SQL의 언어 구성

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

  • 데이터 저장 구조를 명시하는 언어
  • 테이블 스키마의 정의, 수정, 삭제

데이터 조작 언어 (DML: Data Manipulation Language)

  • 사용자가 데이터를 접근하고 조작할 수 있게 하는 언어
  • 레코드의 검색 (search), 삽입(insert), 삭제(delete), 수정(update)

데이터 정의 언어

테이블 생성

형식

create table <테이블이름>(<필드리스트>);
  • <필드리스트>는 '필드명 데이터타입'

예시

  • department 테이블을 생성하는 SQL문 (출처: 데이터베이스의 이해)
create table department (
    dept_id	varchar2(10) not null,
    dept_name varchar2(14) not null,
    office varchar2(10));

기본키, 외래키 설정

create table department (
    dept_id	varchar2(10) not null,
    dept_name varchar2(14) not null,
    office varchar2(10),
    constraint pk_department primary key(dept_id));
  • 기본키는 디폴트가 not null이다.

image-20210412153511569

create table student (
    stu_id varchar2(10),
    resident_id varchar2(14) not null,
    name varchar2(10) not null,
    year int,
    address varchar2(10),
    dept_id varcahr2(10),
    constraint pk_student primary key(stu_id),
    constraint fk_student foreign key(dept_id) references department(dept_id));

image-20210412154106801

테이블 삭제

형식

drop table <테이블이름>;

주의할 점

  • 다른 테이블에서 외래키로 참조되는 경우에는 삭제 할 수 없음

image-20210412154554042

  • 현재 student 테이블이 department 를 외래키로 참조하고 있어 삭제할 수 없음

테이블 수정

필드 추가 형식

alter table <테이블이름> add <추가할필드>

예시

student 테이블에 age 추가

image-20210412154947097

필드 삭제 형식

alter table <테이블 이름> drop column <삭제할 필드>;

테이블 삭제, 생성 시 주의사항

  • 외래키를 필드로 갖는 테이블 생성
    • 외래키가 참조하는 테이블 먼저 생성
  • 다른 테이블이 외래키로 참조하고 있다면 그 테이블은 삭제 불가
    • 외래키로 참조하고있는 테이블을 삭제하던지 외래키를 해제해야함

참고자료

profile
🔥https://devyuseon.github.io/ 로 이사중 입니다!!!!!🔥
post-custom-banner

0개의 댓글