< 기존에 만들었던 테이블 >
-- 테이블 생성
CREATE TABLE ITEM (
ITEM_PK NUMBER PRIMARY KEY,
ITEM_NAME VARCHAR2(100) NOT NULL,
ITEM_PRICE NUMBER NOT NULL,
ITEM_STOCK NUMBER NOT NULL,
ITEM_DESCRIPTION VARCHAR2(3000),
ITEM_IMAGE_URL VARCHAR2(255)
);
-- 샘플 데이터 INSERT
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(1, '크리스마스 트리 미니', 25000, 10, '작은 탁상용 크리스마스 트리, LED 조명 포함', 'images/kiki.jpg');
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(2, '산타 인형', 15000, 20, '귀여운 산타 인형, 어린이 선물용', 'images/kiki2.jpg');
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(3, 'LED 크리스마스 전구', 12000, 30, '다채로운 LED 전구 10m, 실내외 사용 가능', 'images/kiki3.jpg');
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(4, '눈사람 장식', 18000, 15, '부드러운 펠트 소재의 눈사람 장식', 'images/kiki5.jpg');
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(5, '크리스마스 리스', 22000, 12, '전통적인 크리스마스 리스, 현관문 장식용', 'images/kiki7.jpg');
상품 목록을 보여주는 테이블을 만들 때
이렇게 테이블을 생성해서 값을 넣었다
PK 값을 자동 증가로 만들고자 시퀸스를 생성하려고 한다
테이블을 삭제하고 시퀀스를 적용하여 다시 만들어보도록 하겠습니다
테이블 삭제 명령어 : DROP TABLE ITEM;
테이블 생성
CREATE TABLE ITEM (
ITEM_PK NUMBER PRIMARY KEY,
ITEM_NAME VARCHAR2(100) NOT NULL,
ITEM_PRICE NUMBER NOT NULL,
ITEM_STOCK NUMBER NOT NULL,
ITEM_DESCRIPTION VARCHAR2(3000),
ITEM_IMAGE_URL VARCHAR2(255)
);
상품 PK
상품명
가격
재고
상품 설명
상품 이미지 URL
시퀸스 생성
-- 시퀀스 생성 (자동 증가용)
-- ITEM_PK용 시퀀스 생성
CREATE SEQUENCE ITEM_SEQ
START WITH 1 -- 시작값
INCREMENT BY 1 -- 1씩 증가
NOCACHE -- 캐시 사용 안함
NOCYCLE; -- 최대값 도달 시 재사용 안함
START WITH 1 ➡ 첫 PK는 1부터 시작
INCREMENT BY 1 ➡ 1씩 증가
NOCACHE ➡ 캐시 없이 생성 (간단 테스트용)
NOCYCLE ➡ 시퀸스 재사용 금지
시퀀스 삭제 명령어 :
DROP SEQUENCE ITEM_SEQ;
시퀀스 존재 여부 확인 :
SELECT SEQUENCE_NAME FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'ITEM_SEQ';
그리고 샘플 데이터를 넣어줍니다
시퀀스를 사용하여 숫자가 자동으로 증가됩니다.
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL)
VALUES (ITEM_SEQ.NEXTVAL, '크리스마스 트리 미니', 25000, 10, '작은 탁상용 크리스마스 트리, LED 조명 포함', 'images/kiki.jpg');
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(ITEM_SEQ.NEXTVAL, '산타 인형', 15000, 20, '귀여운 산타 인형, 어린이 선물용', 'images/kiki2.jpg');
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(ITEM_SEQ.NEXTVAL, 'LED 크리스마스 전구', 12000, 30, '다채로운 LED 전구 10m, 실내외 사용 가능', 'images/kiki3.jpg');
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(ITEM_SEQ.NEXTVAL, '눈사람 장식', 18000, 15, '부드러운 펠트 소재의 눈사람 장식', 'images/kiki5.jpg');
INSERT INTO ITEM (ITEM_PK, ITEM_NAME, ITEM_PRICE, ITEM_STOCK, ITEM_DESCRIPTION, ITEM_IMAGE_URL) VALUES
(ITEM_SEQ.NEXTVAL, '크리스마스 리스', 22000, 12, '전통적인 크리스마스 리스, 현관문 장식용', 'images/kiki7.jpg');
데이터베이스에 새 상품을 insert하는 명령어이다
기본구조
INSERT INTO 테이블명 (컬럼1, 컬럼2, …)
VALUES (값1, 값2, …);
INSERT INTO ITEM : ITEM 테이블에 데이터를 넣겠다는 의미
| ITEM_PK | ITEM_SEQ.NEXTVAL | 기본키(아이템 고유번호), 시퀀스(자동 증가 번호) 사용 |
| ITEM_NAME | '크리스마스 트리 미니' | 상품 이름 |
| ITEM_PRICE | 25000 | 가격 |
| ITEM_STOCK | 10 | 재고 수량 |
| ITEM_DESCRIPTION | '작은 탁상용 크리스마스 트리, LED 조명 포함' | 상품 설명 |
| ITEM_IMAGE_URL | 'images/kiki.jpg' | 이미지 파일 경로 |
ITEM_SEQ.NEXTVAL
자동으로 1씩 증가하는 번호를 가져오는 Oracle 시퀀스
매번 새로운 아이템을 넣을 때 고유번호 자동 생성 가능
'DBMS' 카테고리의 다른 글
| 테이블 JOIN 하기 (0) | 2025.11.12 |
|---|---|
| 테이블 PK 자동으로 부여하기 (SELECT NVL(MAX(PK), 100) FROM BOARD) + 1 (0) | 2025.11.12 |
| SQL 테이블 생성 & 삭제 & 조회 & 정렬 (0) | 2025.11.12 |
| DB와 JAVA | 회원 탈퇴 시 댓글도 삭제하기 (0) | 2025.11.05 |
| 두 개의 테이블 JOIN 하기 (1) | 2025.11.05 |