오라클 테이블 생성(CREATE TABLE)
오라클에서 테이블을 생성하기 위해서는 CREATE TABLE 명령어를 사용한다.
CREATE TABLE 테이블명 (
컬럼명 데이터타입(SIZE) [DEFAULT 기본값] [제약조건]
);
CREATE TABLE 명령어의 형태이다.
▶ 테이블명 / 컬럼명
- 문자(영문, 한글)로 시작해야한다.
- 문자, 숫자, 특수문자(_, #, $)만 입력가능하다.
▶ 데이터타입(자료형)
- 데이터를 효율적으로 처리하기 위해 식별하는 분류이다.
▶ DEFAULT
- 값을 입력하지 않은경우 기본으로 설정되는 값이다.
▶ 제약조건(CONSTRAINT)
- 컬럼에 조건을 부여하여 들어오는 데이터를 검사한다.
제약조건 | 설명 |
기본키(PK, Primary Key) | 중복이 없고 NULL을 허용하지 않는다. 고유한 값으로 각 행의 구분점으로 사용된다. |
고유키(UK, Unique Key) | NULL은 허용하지만 중복을 허용하지 않는다. |
외부 참조키(FK, Foregin Key) | 다른 테이블과 관계를 맺기 위한 다른 테이블의 기본키이다. |
NOT NULL | NULL을 허용하지 않는다. |
체크(CHECK) | 컬럼에 입력할 수 있는 값의 범위나 조건을 지정한다. |
코멘트(Comment)
우리가 테이블을 만들어놓고 시간이 지나면 테이블과 칼럼이 무슨 용도였는지 까먹을때가 종종있다.
그래서 코멘트(Comment)를 통해 테이블과 컬럼에 설명을 적을 수 있다
▶ 테이블 및 컬럼 Comment 설정
-- 테이블 Comment 형식
COMMENT ON TABLE [테이블명] IS [설명];
-- 테이블 Comment 설정 예시
COMMENT ON TABLE TBL_TEST IS '테스트 테이블';
-- 컬럼 Comment 형식
COMMENT ON COLUMN [테이블명].[컬럼명] IS [설명];
-- 컬럼 Comment 설정 예시
COMMENT ON COLUMN TBL_TEST.NAME IS '이름';
▶ 테이블 및 컬럼 Comment 삭제
-- 테이블 Comment 삭제 형식
COMMENT ON TABLE [테이블명] IS '';
-- 테이블 Comment 삭제 예시
COMMENT ON TABLE TBL_TEST IS '';
-- 컬럼 Comment 삭제 형식
COMMENT ON COLUMN [테이블명].[컬럼명] IS '';
-- 컬럼 Comment 삭제 예시
COMMENT ON COLUMN TBL_TEST.NAME IS '';
테이블 생성 예제
CREATE TABLE TBL_STUDENT(
ID NUMBER,
NAME VARCHAR2(100) NOT NULL,
GENDER CHAR(1) DEFAULT 'W' CONSTRAINT BAN_CHAR CHECK(GENDER IN('M', 'W')),
CONSTRAINT STD_PK PRIMARY KEY(ID)
);
COMMENT ON TABLE TBL_STUDENT IS '학생 테이블';
COMMENT ON COLUMN TBL_STUDENT.ID IS '아이디(PK)';
COMMENT ON COLUMN TBL_STUDENT.NAME IS '이름';
COMMENT ON COLUMN TBL_STUDENT.GENDER IS '성별';
★ 테이블 생성결과
▶ ID 컬럼
- STD_PK 이름으로 기본키(PK)가 설정되었다.
- 기본키(PK) 설정하는 다른 방법 (기본키 이름을 시스템에서 자동으로 부여한다.)
CREATE TABLE TBL_STUDENT (
ID NUMBER PRIMARY KEY,
...
);
▶ NAME 컬럼
- NOT NULL 제약조건이 있으므로 NULL을 허용하지 않는다.
▶ GENDER 컬럼
- 디폴트 값으로 'W'를 가진다.
- CHECK 제약조건을 통해 입력한 데이터가 'M', 'W' 중에 있는지 체크한다.
'DB > 오라클(Oracle)' 카테고리의 다른 글
[Oracle] 오라클 별칭(AS) 사용법 (0) | 2023.11.23 |
---|---|
오라클 TCL(COMMIT, ROLLBACK, SAVEPOINT) (0) | 2023.11.21 |
오라클 DML(INSERT, SELECT, UPDATE, DELETE) (2) | 2023.11.20 |
오라클 DDL(CREATE, ALTER, RENAME, TRUNCATE, DROP) (0) | 2023.11.18 |
오라클 데이터타입(Data Type) 정리 (0) | 2023.11.05 |