SQL 시퀀스 명령어 요약

728x90
< 시퀀스 : sequence : type이 number인 칼럼에 대해 숫자를 자동 증가, 대개는 primary key 칼럼이 대상  >
create table 테이블명(칼럼명 int primary key, 칼럼명 varchar2(10));
create sequence my_seq increment by 1 start with 0 minvalue 0 maxvalue 1000;
insert into aa values(my_seq.nextval,'이기자');
insert into aa values(my_seq.nextval,'이기자');

create table bb(code int primary key,name varchar2(10));
insert into bb values(my_seq.nextval, '김밥');

insert into aa values (my_seq.nextval,'신기해');

create sequence our_seq;
insert into aa values(our_seq.nextval, '손오공');



< index (색인) : 검색속도를 증진시키기 위해 칼럼에 색인을 부여 >
- pk 칼럼은 자동으로 index가 만들어 진다.
- 나머지 칼럼은 유저가 작성
- 인덱스를 쓰면 안되는 경우 : 입력, 수정, 삭제가 빈번한 테이블

create table aa(bun int primary key, irum varchar2(10));
create index ind_irum on aa(irum);
--create unique index ind_irum2 on aa(irum); -- 고유 인덱스는 unique를 붙일 것

select index_name, table_name from USER_INDEXES;
select index_name, table_name from USER_INDEXES; where TABLE_NAME='AA';
alter index ind_irum rebuild; -- 수정, 삭제, 추가 후 인덱스 재생성
drop index ind_irum;



< 테이블 관련 명령 >
- create table 테이블명 ~ // 생성
- alter table 테이블명~ // 변경
- drop table 테이블명 ~ // 삭제
- rename table 옛이름 to 새이름 ~ // 이름 변경

create table aa(bun int primary key, irum varchar2(10), inwon number(3));
inwon number(3));
insert into aa values(1, 'tom',12);
select * from aa;
rename aa to kbs;
select * from kbs;



< 칼럼 관련 명령 >
- 칼럼 추가
alter table aa add(juso varchar2(10));
desc kbs;
select * from kbs;

- 칼럼 수정
alter table kbs modify(inwon number(5));

-칼럼 수정(이름)
alter table 테이블명 rename column 변경전 이름 to 변경후 이름;

- 칼럼 삭제
alter table 테이블명 drop (삭제하고자 하는 칼럼);

-데이터 이동(export, import) 는 커맨드창 cmd에서 해야됨
create table 테이블명(이름 int primary key, 이름 varchar2(10));

- export 후 import 연습
-- c:\>exp 아이디/암호 tables=테이블명 file=c:\work=원하는 이름.dmp




< 테이블 삭제 관련 : 오라클 휴지통 >
select * from tab;
drop table bb; -- 완전 삭제가 아니고 휴지통에 들어간 상태
show recyclebin; -- 오라클 휴지통 확인
flashback table kbs to before drop; -- kbs 되살리기
purge recyclebin; -- 오라클 휴지통 완전 소거
drop table kbs purge; -- 테이블 완전 삭제




본 포스팅은 IT 교육기관인 KIC 캠퍼스의 지원을 받은 리포트입니다.
본문은 '남궁성, JAVA의 정석 3rd Edition' 교재를 공부하면서 주요 내용을 요약하고 있습니다.
혹시 잘못되거나 문제 소지시 댓글 남겨주시면 조치하겠습니다.


728x90