일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ANSI JOIN
- 자바
- DP
- 입출력
- oracle
- Dynamic Programming
- 백준
- 소숫점처리
- SQL
- algoritm
- 2156
- Eclipse
- n x 2 타일링 2
- 데이터길이
- db
- 알고리즘
- 10951
- 동적계획법
- 오라클
- 변수
- select
- 데이터베이스
- Java
- Algorithm
- Database
- JOIN
- 문자열
- 반복문
- 그대로 출력하기
- darkest dark
Archives
- Today
- Total
Cracking Code
SQL - CREATE TABLE 본문
데이터베이스의 기본적인 저장 단위인 테이블을 만들 수 있는 CREATE TABLE 명령어를 알아보겠습니다.
CREATE TABLE [schema.]table (
column datatype [DEFAULT expr][, ...]
);
table의 이름을 짓고 들어갈 column 들의 데이터 타입과 옵션을 지정해줍니다.
* schema란 특정 사용자가 데이터베이스에 접근하여 생성한 객체들의 대표 이름을 의미합니다. 보통 사용자가 들어갑니다.
datatype은 아래와 같습니다.
1. DEFAULT 옵션
해당 테이블에 행을 입력할 때 해당 컬럼에 값을 지정하지 않은 경우 자동으로 DEFAULT 값이 입력됩니다.
NULL 값이 저장되는 것을 방지할 수 있습니다.
NUM ( NUMBER(2) ), WRITEDAY ( DATE ) 컬럼을 가진 DEF_TABLE2 테이블을 만들어봅시다.
WRITEDAY는 기본값을 현재 일시로 설정해줍시다.
CREATE TABLE DEF_TABLE2(
NUM NUMBER(2),
WRITEDAY DATE DEFAULT SYSDATE
);
-- 값 입력
INSERT INTO DEF_TABLE2(NUM) VALUES(1);
-- DEF_TABLE2 내용 확인
SELECT * FROM DEF_TABLE2;
기본값으로 현재 날짜가 자동으로 들어가는 것을 볼 수 있습니다.
2. SUB QUERY 사용
CREATE TABLE table
[(column1, column2, ...)]
AS subquery;
CTAS라고도 하며 지정된 컬럼의 수와 서브 쿼리에서 리턴된 컬럼의 수가 일치할 때 사용할 수 있습니다.
컬럼을 지정할 때 컬럼명과 기본값만 지정 가능하고 지정된 컬럼을 연산할 때는 반드시 alias를 사용해야 합니다.
서브 쿼리를 이용하여 테이블을 만들 때 NOT NULL을 제외한 제약 조건은 적용되지 않습니다.
DEPT_A 테이블을 DEPT 테이블의 데이터들로 만들어봅시다.
CREATE TABLE DEPT_A
AS
SELECT * FROM DEPT;
'Database' 카테고리의 다른 글
SQL - PRIMARY KEY (기본키) (0) | 2020.07.21 |
---|---|
SQL - 제약 조건 (0) | 2020.07.21 |
SQL - COMMIT, ROLLBACK (0) | 2020.07.20 |
TRANSACTION 개요 (0) | 2020.07.20 |
SQL - MERGE (0) | 2020.07.20 |
Comments