오라클 테이블 생성하는 방법
오라클에서 테이블을 생성하기 위해서는 CREATE TABLE 명령어를 사용하면 된다.
CREATE TABLE [1.테이블명]
(
[2.컬럼명] [3.데이터 타입] [4.기본 값(생략가능)] [5.NULL(생략가능)]
);
CREATE TABLE의 기본 사용법은 위와 같다.
- 테이블명 : 사용할 테이블 명을 입력
- 테이블명은 문자(영문, 한글), 숫자, 특수문자(_, #, $)만 가능하다.
- 반드시 문자로 시작해야 한다.
- 컬럼명 : 사용할 컬럼명을 입력
- 컬럼명은 문자(영문, 한글), 숫자, 특수문자(_, #, $)만 가능하다.
- 반드시 문자로 시작해야 한다.
- 데이터 타입 : 컬럼의 데이터 타입을 입력
- 오라클에서 지원하는 데이터 타입은 다음 글을 참고
- [Oracle] 오라클 데이터 타입(Data Type) 정리
- 기본 값 : 값이 없으면 기본으로 입력되는 값, 생략 가능
- NULL 허용 여부 : 기본 값은 NULLABLE(NULL 허용), NOT NULL 선언 시 NULL 허용 X, 생략 가능
예시
CREATE TABLE emp
(
empno NUMBER(5) NOT NULL,
name VARCHAR2(20),
department VARCHAR2(10),
hiredate DATE,
salary NUMBER(7,2),
tel VARCHAR2(13)
);
기본키 설정
테이블에 기본키를 설정하는 법은 두 가지가 있다.
제약조건으로 추가하기
ALTER TABLE [테이블명] ADD CONSTRAINT [제약조건명] PRIMARY KEY([컬럼명])
ALTER 명령어를 사용해 테이블에 기본키를 제약조건으로 추가해 줄 수 있다.
예를 들어 아래와 같다.
ALTER TABLE emp ADD CONSTRAINT emp_pk PRIMARY KEY(empno);
테이블 생성 시 추가하기
CREATE TABLE emp
(
empno NUMBER(5) NOT NULL primary key,
name VARCHAR2(20),
department VARCHAR2(10),
hiredate DATE,
salary NUMBER(7,2),
tel VARCHAR2(13)
);
위와 같이 테이블을 생성할 때 기본키로 지정할 컬럼에 primary key를 적어주면 된다.
혹은 아래와 같이 설정할 수도 있다.
CREATE TABLE emp
(
empno NUMBER(5) NOT NULL,
name VARCHAR2(20),
department VARCHAR2(10),
hiredate DATE,
salary NUMBER(7,2),
tel VARCHAR2(13)
CONSTRAINTS emp_pk PRIMARY KEY(empno)
);
인덱스 생성
CREATE INDEX [인덱스명] ON [테이블명]([컬럼명]);
인덱스는 위와 같이 생성할 수 있다.
예를 들어 아래와 같다.
CREATE INDEX emp_idx ON emp(name);
참고)
코멘트 생성
-- 테이블 코멘트
COMMENT ON TABLE [테이블명] IS '[코멘트]';
-- 컬럼 코멘트
COMMENT ON COLUMN [테이블명.컬럼명] IS '[코멘트]';
코멘트는 위와 같이 생성할 수 있다.
예를 들어 아래와 같다.
-- 테이블 코멘트
COMMENT ON TABLE emp IS '직원 테이블';
-- 컬럼 코멘트
COMMENT ON COLUMN emp.name IS '직원이름';
반응형
'데이터베이스 > [Oracle]' 카테고리의 다른 글
[Oracle] 오라클 문자열 길이 구하기 LENGTH, LENGTHB 함수 (0) | 2023.07.27 |
---|---|
[Oracle] 연산자 종류, 연산자 우선순위, 문자열 합치기 (0) | 2023.07.27 |
[Oracle] 오라클 테이블 수정(ALTER TABLE)하는 법, 오라클 컬럼 추가/변경/삭제하는 법 (0) | 2023.07.26 |
[Oracle] 오라클 테이블 삭제(DROP TABLE)하는 법, 제약조건 걸린 테이블 삭제하는 법 (0) | 2023.07.26 |
[Oracle] 오라클 데이터 타입(Data Type) 정리 (0) | 2023.07.24 |