본문 바로가기

DATABASE/DDL : 데이터 정의하기

02. 테이블을 생성하는 CREATE

CREATE문은 오라클 데이터베이스 객체를 생성하는 데 사용하는 명령어이다.

 

테이블 이름 생성 규칙

1. 테이블 이름은 문자로 시작해야한다. ( 한글도 가능하지만, 숫자는 시작 불가능 )

2. 테이블 이름은 30BYTE 이하여야 한다. (영어 30자, 한글 10자)

3. 같은 사용자 소유의 테이블 이름은 중복될 수 없다.

4. 테이블 이름은 영문자, 숫자와 $, _, # 사용가능하다.

5. SQL키워드는 테이블 이름으로 사용할 수 없다.(예 :SELECT, FROM 등)

 

열 이름 생성 규칙

1. 열 이름은 문자로 시작해야 한다.

2. 열 이름은 30BYTE 이하여야 한다.

3. 한 테이블의 열 이름은 중복될 수 없다.

4. 열 이름은 영문자, 숫자와 $, _, # 사용가능하다.

5. SQL키워드는 열 이름으로 사용할 수 없다.

 

자료형을 각각 정의하여 새 테이블 생성하기

CREATE TABLE 테이블이름 (

열이름1 자료형1,

열이름2 자료형2,... ) ;

자료형에서 NUMBER(7,2)는 소수점 이하 두자리 숫자를 포함한 7자리 숫자를 저장할 수 있음을 뜻한다. 즉 자연수는 5자리까지 가능(12345.67)하고, DATE는 길이 지정이 필요없는 자료형이기 때문에 소괄호를 사용하지 않는다.

 

기존 테이블 열 구조와 일부 데이터만 복사하여 새 테이블 생성하기

특정 테이블과 열 구조는 같되 테이블 전체 데이터가 아닌 일부 데이터만 복사하여 테이블을 만들어야 한다면 서브쿼리에 WHERE절을 사용하여 생성 테이블에 저장될 데이터를 조건식으로 지정할 수 있다.

 

기존 테이블의 열 구조만 복사하여 새 테이블 생성하기

특정 테이블과 열 구성이 같되 저장 데이터가 없는 빈 테이블을 생성하려면 WHERE절 조건식의 결과 값이 언제나 FALSE가 나오는 방법을 사용하면 된다. WHERE 1 <> 1;