자바 웹 개발자가 될거야/DB
[Oracle] 테이블 생성하기/ CREAT문
whitz
2021. 12. 7. 16:38
< 테이블 생성하기 >
- CREATE TABLE ( 컬럼명1 제약조건 , 컬럼명2 제약조건, ...); 가 기본틀이다
- 아래의 2개 테이블 설계도 참고해서 테이블을 생성해보겠음
CREATE TABLE title(
title_id number(10) constraint t_tid_pk PRIMARY KEY,
title varchar2(60) constraint t_tit_nn NOT NULL,
description varchar2(400) constraint t_des_nn NOT NULL,
rating varchar2(4) constraint t_rat_ck CHECK(rating in('G','PG','R','NC17','NR')),
category varchar2(20) constraint t_cat_ck CHECK(category in('DRAMA','COMEDY','ACTION','CHILD','SCIFI','DOCUMENTARY')),
release_date date
);
CREATE TABLE title_copy(
copy_id NUMBER(10),
title_id NUMBER(10) CONSTRAINT title_id_fk REFERENCES title(title_id),
status VARCHAR2(15) CONSTRAINT status_nn NOT NULL
CONSTRAINT status_ck CHECK (status IN ('AVAILABLE','DESTROYED','RENTED','RESERVED')),
CONSTRAINT copy_title_id_pk PRIMARY KEY (copy_id, title_id)
);
① desc
- desc 테이블명;
- 테이블을 생성 후 테이블 구조를 볼 수 있다
② 서브쿼리 이용해서 테이블 생성
- 주로 테스트용으로 테이블 그대로 복사할 때 많이 사용
CREATE TABLE copy_emp
AS (SELECT * FROM employees WHERE 1=2);
INSERT INTO copy_emp
SELECT * FROM employees;
==
CREATE TABLE copy_emp
AS (SELECT * FROM employees);
· == 을 기준으로 같은 테이블 생성 결과를 보여주는 쿼리다
· 맨 위의 CREATE문은 테이블의 구조만 들고와서 그 후에 INSERT문으로 데이터 넣어준것
· 아래의 CREATE문은 구조와 데이터값 넣는 것을 합친 쿼리