오라클 07) 북테이블, 인덱스

hahahoho셍·2021년 5월 1일
0

오라클 SQL

목록 보기
7/10
--책 테이블
--컬럼 : BOOKCODE(책코드), BOOKNAME(책이름), PUBLISHER(출판사), PRICE(가격), SALEPER(할인율), REGDATE(등록일자)

DROP TABLE BOOK;

CREATE TABLE BOOK(
BOOKCODE VARCHAR2(13),
BOOKNAME VARCHAR2(50),
PUBLISHER VARCHAR2(50),
PRICE NUMBER(10),
SALEPER NUMBER(5,2),
REGDATE DATE DEFAULT SYSDATE
);

--이미 만들어진 구조에 PK (ADD) 추가 (ALTER)DDL = 구조를 바꾸는것
ALTER TABLE BOOK ADD CONSTRAINT PK_BOOKCODE PRIMARY KEY (BOOKCODE);

--컬럼 추가
ALTER TABLE BOOK ADD (MODIFYDATE DATE DEFAULT SYSDATE);

--북네임에 낫널으로 수정(MODIFY) (기존 옵션은 동일해야함)
ALTER TABLE BOOK  MODIFY (BOOKNAME VARCHAR2(50) NOT NULL);

--컬럼 삭제 (DROP)
ALTER TABLE BOOK DROP COLUMN PUBLISHER;
ALTER TABLE BOOK DROP (PUBLISHER);  -- 이렇게 생략도 되지만 가독성 떨어짐

INSERT INTO BOOK (BOOKCODE,BOOKNAME,PUBLISHER, PRICE, SALEPER)  VALUES ('8801','책이름','글임책',15000,0.20);
INSERT INTO BOOK (BOOKCODE,BOOKNAME,PUBLISHER, PRICE, SALEPER)  VALUES ('8802','모비딕','하나',16000,0.10);
INSERT INTO BOOK (BOOKCODE,BOOKNAME,PUBLISHER, PRICE, SALEPER)  VALUES ('8803','돌고래','돌라',13000,0.30);


SELECT * FROM BOOK;


--인덱스 (무분별한 인덱스는 오히려 속도(추가, 생성, 삭제) 저하의 원인이 됨)
-- 북 네임에 인덱스 생성
DROP INDEX BOOK_BOOKNAME_IX;  --삭제 후 재 생성등 유지보수 필요
CREATE INDEX BOOK_BOOKNAME_IX ON BOOK(BOOKNAME);
profile
그냥 공부 한거 적는 벨로그 하하하핳ㅎ하하하핳하ㅏ

0개의 댓글