Oracle create관련 명령
2019. 6. 19. 16:56ㆍOracle/Tip
1. 일반 테이블 생성하기
create table ddl_test
(
no number(3),
name varchar2(10),
birth date default sysdate
);
* default 값은 모든 컬럼에 다 적용가능하며 데이터가 입력되지 않을 경우 null값이 입력되는데 default 값을 설정하면 설정된 값으로 데이터가 저장됩니다.
* default를 설정할 때는 데이터 타입만 같으면 됩니다.
* 주의사항
1. 테이블 이름은 반드시 문자로 시작해야함. 특수문자는 "으로 감싸야하며 권장하지 않음
2. 테이블, 컬럼 이름은 30 바이트까지 가능함
3. 테이블 이름이나 오브젝트 이름을 오라클이 사용하는 키워드를 사용하지 않기를 권장함
- 테이블 복사하기
1. 모든 컬럼, 데이터 복사
create table employees2
as
select * from employees;
select * from employees2;
* employees 테이블과 컬럼, 데이터가 같은 employees2가 생성되지만 컬럼과 데이터만 가지고 오게 됩니다.
2. 특정 컬럼만 복사
create table employees3
as
select department_id,
first_name
from employees;
[결과]
3. 테이블의 구조만 복사
create table employees4
as
select *
from employees
where 1=2;
[결과]
* 조건을 충족하는 데이터가 없으므로 구조만 가지고 옵니다.
4.가상 컬럼 테이블 생성하기
create table virtual_column
(
num1 number,
num2 number,
num3 number generated always as (num1+num2) virtual
);
insert into virtual_column(num1,num2) values(1,2);
[결과]
1. 테이블을 만들 때 virtual 키워드는 생략가능
2. 가상 컬럼이 존재할 때 insert시 데이터를 넣을 컬럼을 명시해줘야함
3. 가상 컬럼의 경우 insert, update는 불가능 하지만 where절 등 사용가능
4. 인덱스, 제약조건도 설정이 가능함
5. 편리하지만 성능이나 옵티마이저의 반응들을 검토 후 사용하길 권장함
'Oracle > Tip' 카테고리의 다른 글
Oracle 정리 ( 함수(숫자, 날짜, 데이터 형 변환)) (0) | 2019.06.17 |
---|---|
Oracle 정리 ( 집합연산자, 함수(문자) ) (0) | 2019.06.17 |
대용량 DB 이관시 알아두면 좋은 기능 (0) | 2019.05.21 |