--책 테이블
--컬럼 : 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);