[Oracle SQL] CREATE문

고동이의 IT·2021년 10월 7일
0

Oracle SQL

목록 보기
3/31

명령 구분

DDL (DATA DEFINITION LANGUAGE) : CREATE, ALTER, DROP
DCL (DATA CONTROL LANGUAGE) : COMMIT, ROLLBACK, SAVEPOINT, REVOKE
DML(DATA MANIPULATION LANGUAGE) : INSERT, UPDATE, DELETE, MERGE

CREATE

  • 오라클 객체를 생성할 때 사용
  • 테이블 생성시 CREATE TABLE 명령사용

(사용형식)

CREATE TABLE 테이블명(

컬럼명1 데이터타입[(크기)] [NOT NULL] [DEFAULT 값][,]

컬럼명2 데이터타입[(크기)] [NOT NULL] [DEFAULT 값][,]

:

컬럼명n 데이터타입[(크기)] [NOT NULL] [DEFAULT 값][,]

​

[CONSTRAINT 기본키설정명 PRIMARY KEY(컬럼명[,컬럼명,...])[,]
[CONSTRAINT 외래키설정명 FOREIGN KEY(컬럼명[,컬럼명,...])

REFERENCES 테이블명 (컬럼명[,컬럼명,...])[,]

[CONSTRAINT 외래키설정명 FOREIGN KEY(컬럼명[,컬럼명,...])

REFERENCES 원본테이블명 (원본컬럼명[,컬럼명,...])[,]

:

[CONSTRAINT 외래키설정명 FOREIGN KEY(컬럼명[,컬럼명,...])

REFERENCES 테이블명 (컬럼명[,컬럼명,...]));

데이터타입

숫자: NUMBER,
문자열: 4기가까지 처리가능 CHAR(고정) VARCHAR(가변),
날짜 -> 크기 표기 필요없음,
2진수-멀티미디어자료들(사진, 동영상, 음원)
NULL 값이 들어간 자료를 사칙연산해도 결과는 항상 NULL 이므로 조심
오라클에서는 입력안하면 무조건 NULL
NOT NULL 과 DEFAULT 는 동시에 존재 불가.
사용자가 입력하지 않았을때 NULL 이아닌 DEFAULT 값으로 입력됨
제약조건명은 중복될 수 없음.
보통 PK테이블명, FK테이블명_참조테이블명 형식으로 기본키, 외래키 설정.
기본키, 외래키 복수개 지정가능. 보통 외래키는 한컬럼임.
외래키 복수개 지정시 참조하는 테이블 다르면 따로따로 설정해줘야함.

사용예) 다음 자료를 참고하여 사원테이블을 생성하시오

CREATE TABLE EMPLOYEE (
EMP_ID CHAR(5) NOT NULL,
EMP_NAME VARCHAR2(30) NOT NULL,
EMP_ADDR VARCHAR2(100),
DEPT_NAME VARCHAR2(50),

CONSTRAINT PK_EMPLOYEE PRIMARY KEY (EMP_ID));

사용예) 사업장 테이블을 생성하시오
테이블명: CONST_SITE(사업장)

CREATE TABLE CONST_SITE(
CONST_ID CHAR(8),
CONST_NAME VARCHAR2(50) NOT NULL,
CONST_ADDR VARCHAR2(100),
CONST_TEL_NUM VARCHAR2(20),
REMARKS VARCHAR2(200),

CONSTRAINT PK_CONST_SITE PRIMARY KEY(CONST_ID)

);

사용예) 근무 테이블을 생성하시오
테이블명:TBL_WORKS(근무)


CREATE TABLE TBL_WORKS(
EMP_ID CHAR(5),
CONST_ID CHAR(8),
SDATE DATE DEFAULT SYSDATE ,
EDATE DATE,

CONSTRAINT PK_TBL_WORKS PRIMARY KEY (EMP_ID,CONST_ID),
CONSTRAINT FK_WORKS_EMP FOREIGN KEY (EMP_ID)
REFERENCES EMPLOYEE(EMP_ID),
CONSTRAINT FK_WORKS_SITE FOREIGN KEY (CONST_ID)
REFERENCES CONST_SITE(CONST_ID)

);
```![](https://velog.velcdn.com/images%2Fvgo_dongv%2Fpost%2F4d7ce4f2-198a-4e15-97b2-9c8db4bd8d39%2Fimage.png)
profile
삐약..뺙뺙

0개의 댓글