CREATE : (만들기)
문자형 데이터 타입 | ||
데이터 유형 | 설명 | 길이 |
char [(size[BYTE |CHAR])] (가장 많이 사용) | 고정 길이의 문자형 데이터 타입으로 그 크기는 SIZE만큼의 BYTE수 혹은 문자 개수가 된다. | 최대 크기는 2000BYTE가 될수 있으며 byte,char명시 안하면 디폴트로 byte가 된다. size 값을 명시하지 않을 경우 디폴트 값은 1이다. |
VARCHAR2 [size[BYTE | CHAR]] (가장 많이 사용) | 가변 길이의 문자형 데이터 타입으로 그 크기는 최대 SIZE만큼의 BYTE수 혹은 문자수가 된다. 반드시 size값을 명시해야 한다. | 최대 크기는 4000byte가 될 수 있으며,byte나 char를 명시하지 않을 경우 디폴트값은 byte가 되며, size값을 생략할 수 없다. |
NCHAR [(size)] | 고정 길이의 유니코드 문자형 데이터 타입으로 그 크기는 UTF8 엔코딩의 경우 size*3byte, AL16UTF16 엔코딩의 경우 size*2byte가 된다. | 최대 크기는 2000byte이며 size 값을 명시하지 않을 경우 디폴트값은 1이다. |
NVARCHAR2 (size) | 가변 길이의 유니코드 문자형 데이터 타입으로 그 크기는 최대 size 값이 되며, UTF8의 경우 3배, AL16UTF16 엔코딩의 경우 2배의 byte가 된다. | 최대 크기는 4000byte이며 size 값을 생략할 수 없다. |
LONG | 가변 길이의 문자형 데이터 타입 | 최대 크기는 2GB이다. |
숫자형 데이터 타입 | ||
데이터 유형 | 설명 | 길이 |
BINARY_FLOAT | 32bit 부동 소수 | 4byte |
BINARY_DOUBLE | 64bit 부동 소수 | 8byte |
NUMBER [ (prec |prec, scale) ] (가장 많이 사용) | 가변 숫자 타입으로, prec로 설정한 값(1~38)은 전체 자릿수이며, scale로 설정값(-84~127)은 소수점 이하 자릿수를 의미한다. | 최대값은 21byte |
날짜형 데이터 타입 | ||
데이터 유형 | 설명 | 길이 |
DATE (가장 많이 사용) | 고정 길이의 날짜와 시간 데이터로서 BC4712년 1월 1일부터 9999년 12월 31일까지 표현할 수 있다. | 7byte 표현형태는 NLS_DATE_FORMAT 파라미터에 명시된 값을 따른다. |
INTERVAL YEAR [(yr_prec)] TO MONTH | 연도와 월 형태로 기간을 표현한다. yr_prec는 날짜의 연도의 최대 자릿수를 나타내며 그 값은 0~9 범위이고 디폴트 값은 2이다. | 5byte |
INTERVAL DAY [(day_prec)] TO SECOND [(frac_sec_prec)] | 요일, 시, 분, 초 형태로 기간을 표현한다. Day_prec는 날짜 자릿수를 frac_sec_prec는 날짜의 초 자릿수를 나타내며 0~9까지 사용할 수 있다. 디폴트 자릿수는 day_prec가 2, frac_sec_prec가 6이다. | 11byte |
TIMESTAMP [(frac_sec_prec)] | 밀리초 까지 표현가능한 날짜형 데이터 타입으로 , frac_sec_prec에는 초(second) 정보의 정밀도를 나타내는데 0~9까지 올 수 있고 디폴트 값은 6이다. | precision에 다라 7~11byte로 디폴트값은 NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따른다. |
TIMESTAMP [(frac_sec_prec)] WITH TIME ZONE | 시간대와 더불어 날짜와 시간을 표현한다. 시간대는 '-5:0 '나 'US/Pacific'가 올 수 있다. frac_sec_prec은 TIMESTAMP를 위한 것이다. | 13byte로 디폴트값은 NLS_TIMESTAMP_TZ_FORMAT 파라미터에 명시된 값을 따른다. |
TIMESTAMP [(frac_sec_prec)]WITH LOCAL TIME ZONE | TIMESTAMP WITH TIME ZONE과 비슷하나 저장시점에는 데이터베이스 시간대를 준수하나 조회시에는 조회하는 클라이언트의 시간대로 표현된다. frac_sec_prec은 TIMESTAMP를 위한 것이다. | frac_sec_prec에 따라 7~11byte이며, 디폴트값은 NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따른다. |
1. TABLE 생성하기.
create table department (
dept_id number(3),
dept_name varchar2(30),
location varchar2(60),
constraint dept_id_pk primary key(dept_id)
);
create table employee(
emp_id number(3),
emp_name varchar2(30) not null,
email varchar2(50) not null,
position varchar2(30) not null,
salary number not null,
hire_date date not null,
dept_id varchar(3) not null,
--제약조건
constraint emp_id_pk primary key(emp_id),
constraint dept_id_fk foreign key(dept_id) references department(dept_id)
--constraint dept_id_fk foreign key(dept_id) references department(dept_id) [on delete cascade]
);
제약조건!!
constraint [제약조건이름] primary key(컬럼명)
constraint [제약조건이름] foriegn key(컬럼명) references 부모테이블명(컬럼명) on delete cascade
제약조건의 종류
UNIQUE
테이블에 있는 데이터를 유일하게 식별하기 위한 무결성 제약조건 중 하나이다.
만약에 주소록 테이블에 이메일까지 저장을 하게된다면 이메일은 그 누구와도 중복되지 않고 유일하다는 걸 알고 있을 것이다. UNIQUE는 중복되지 않고 유일하게 그 데이터를 식별하기 위해 사용된다.
CHECK
입력되는 값을 체크하여 일정한 조건에 해당되는 값만 입력될 수 있게 하는 제약조건이다.
DROP :(삭제)
DROP TABLE 테이블명 [ CASCADE CONSTRAINTS ];
ALTER : (변경)
1. 테이블에 컬럼 추가하기
ALTER TABLE 테이블명 ADD (컬럼명 VARCHAR2(03) [NOT NULL]);
2. 테이블에 컬럼 변경하기
ALTER TABLE 테이블명 MODIFY (컬럼명 VARCHAR2(03) [NOT NULL]);
CHAR <-> VARCHAR2 : 해당 컬럼의 데이터가 NULL이 아니어도 MODIFY 가능
CHAR/VARCHAR2 <-> CLOB : 해당 컬럼의 데이터가 NULL이어도 MODIFY 불가
3.테이블에 컬럼 삭제하기
ALTER TABLE 테이블명 DROP COLUMN (컬럼1); -- 1개 삭제
ALTER TABLE 테이블명 DROP (컬럼1 [,컬럼2,...]); -- 2개 이상 삭제
4.테이블 이름 재설정하기
ALTER TABLE 테이블명 RENAME COLUMN old_컬럼 TO new_컬럼;
5. 제약조건 추가하기
ALTER TABLE 테이블명 ADD PRIMARY KEY (컬럼명);
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건(컬럼명);
6. 제약조건 삭제하기
ALTER TABLE 테이블명 DROP PRIMARY KEY;
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;
'JAVA > JDBC' 카테고리의 다른 글
DQL (Data Query Language) [SELECT] (0) | 2015.03.03 |
---|---|
DML(Data Manipulation Language) [INSERT / UPDATE / DELETE] (0) | 2015.03.03 |
사용자 생성, 삭제, 연결, 권한 변경, 비밀번호 변경 (0) | 2015.03.02 |
DDL(정의) DML(조작) DCL(제어) + TCL(트랜잭션 제어) , DQL(select) (0) | 2015.03.02 |
오라클 11g 설치하기 (0) | 2015.03.02 |