DDL (Data Definition Language) : 데이터와 그 구조 정의 = 테이터 정의어
TABLE 정의
행과 열로 구성된 기본적인 저장매체의 단위
TABLE CREATE 주의사항
1. 테이블 이름을 지정하고 각 컬럼들은 괄호 ( ) 로 묶어 지정합니다.
2. 컬럼뒤에 데이터 타입은 꼭 지정되어야 합니다.
3. 각 컬럼들은 콤마 , 로 구분되고, 항상 끝은 세미콜론 ; 으로 끝납니다.
4. 한 테이블 안에서 컬럼이름은 같을 수 없을며 다른 테이블에서의 컬럼 이름과는 같을수 있습니다.
5. 테이블명을 쌍따옴표 " " 로 감싸지 않으면 기본적으로 대문자로 생성되며
감싸면 입력한 그대로 생성이 된다.
TABLE CREATE 특이사항
1. 오라클에서는 테이블 생성시 컬럼을 1000개까지 생성이 가능하다.
2. 오라클에서는 테이블 생성 후 커밋 커리된다.
TABLE CREATE 명령
CHECK 제약 조건 : 컬럼에 입력되는 값을 체크함
컬럼 CHAR(1) CHECK (컬럼 = '0' OR 컬럼 = '1') ;
-- 데이터 삽입시 값을 체크해서 거짓이면 에러 발생
예제1)
CREATE TABLE TEST1
(AA CHAR(1) CHECK (AA = '0' OR AA = '1'));
-- 테이블 생성후 AA 컬럼에 문자열 2를 입력하면 에러 발생
예제2)
A CHAR(13) CHECK (컬럼 LIKE '____-__-__')
-- A 컬럼에 'YYYY-MM-DD' 형식으로만 입력가능
DEFAULT 제약조건 : 컬럼에 값이 입력 안될떄 자동으로 입력되는 값
예제1)
CREATE TABLE TEST3
(
A DATE DEFAULT SYSDATE,
B CHAR(10)
);
COMMIT;
INSERT INTO TEST3 (B) VALUES ('A') --날짜, A 입력됨
INSERT INTO TEST3 (A, B) VALUES (NULL, 'A') -- NULL 값, A 입력됨
INSERT INTO TEST3 (A, B) VALUES ('', 'A') -- NULL값, A 입력됨
TABLE CREATE EXAMPLE
예제1) PRIMARY KEY 생성 하지 않을시
CREATE TABLE A(
ID NUMBER(10),
NAME VARCHAR2(30)
);
예제2) PRIMARY KEY 생성
CREATE TABLE B(
ID NUMBER(10) CONSTRAINT B_ID PRIMARY KEY,
NAME VARCHAR(30)
);
-- CONSTRAINT 이용해서 PRIMARY KEY 이름을 정할수 있다.
이름을 임으로 정하고 싶다면 적지 않아도 된다.
예제3) 제약 조건을 이용하지 않고 PRIMARY KEY 생성
CREATE TABLE C(
ID NUMBER(10),
NAME VARCHAR(30),
CONSTRAINT C_ID PRIMARY KEY (ID)
);
TABLE COPY
같은 계정에서의 TABLE COPY
TABLE A 가 있고 TABLE B 를 생성하면서 복사하는 방법,
하지만 제약조건(PRIMARY KEY, UNIQUE) 등은 별도로 해줘야 한다.
CREATE TABLE B AS SELECT * FROM A;
* B TABLE 을 만든 후 A TABLE 의 모든 데이터를 B TABLE 에 입력한다.
같은 서버에서 다른 계정으로 TABLE COPY (SYSTEM 계정에서 실행해야 한다.)
제약조건(PRIMARY KEY, UNIQUE) 등은 별도로 해줘야 한다.
CREATE TABLE SCOTT.B AS SELECT * FROM SC.A;
'DB > 오라클 SQL 명령어' 카테고리의 다른 글
오라클 분석함수 -- 순위함수 (0) | 2015.03.20 |
---|---|
오라클 PK 제약조건 만들기 (0) | 2015.03.19 |
오라클 AUTO_INCREMENT (인서트 자동증가) (0) | 2015.03.19 |
날짜 명령어 사용 예 (0) | 2015.03.16 |
날짜관련 명령어 (0) | 2015.03.16 |