⏰ 2024.10.29 (D+14)
🖥️ TABLE(CHKTABLE) 생성 쿼리
CREATE TABLE CHKTABLE(
COL1 NUMBER PRIMARY KEY,
COL2 NUMBER(3) CONSTRAINT CHK_COL2_CHKTABLE CHECK(COL2 >=1 AND COL2 <=200),
COL3 CHAR(1) CONSTRAINT CHK_COL3_CHKTABLE CHECK(COL3 IN ('Y','N')),
COL4 VARCHAR2(10) CHECK(REGEXP_LIKE(COL4,'AB.[1,2][1-9]+')));🖥️ TABLE 생성 확인하는 쿼리
SELECT * FROM CHKTABLE;🖥️ TABLE 데이터 삽입 쿼리
INSERT INTO CHKTABLE VALUES(2,200,'N','AB$#132456');
🖥️ TABLE(BBS) 생성 쿼리
CREATE TABLE BBS(
NO NUMBER PRIMARY KEY,
TITLE VARCHAR2(10) NOT NULL,
USERNAME VARCHAR2(10) REFERENCES MEMBER(USERNAME),
POSTDATE DATE DEFAULT SYSDATE);🖥️ TABLE 데이터 삽입 쿼리
INSERT INTO CHKTABLE BBS(2,200,'N','AB$#132456');
💡 컬럼명 변경
ALTER TABLE MEMBER RENAME COLUMN PASSWORD TO PWD;💡 테이블 이름 변경
RENAME MEMBER_COPY TO MEMBER_CLONE;
📌 시퀀스 생성 SQL 구문
CREATE SEQUENCE 시퀀스명
[INCREMENT BY 증가값][START WITH SEED값]
[MAXVALUE n| MINVALUE n]
시퀀스 최대/최소값 지정
minvalue의 디폴트 값 1
maxvalue의 디폴트값 1.0000E+28
[CYCLE|NOCYCLE]
최대 또는 최소 값에 도달한 후 계속 값을
생성할 지 여부 지정(디폴트는 NOCYCLE)
[CACHE/NOCACHE]
CACHE 메모리에 오라클 서버가 SEQUENCE값을 할당하는가 여부 지정(디폴트로 CACHE]
방법 1) 시퀀스 생성 SQL 구문
CREATE SEQUENCE SEQ_BBS
INCREMENT BY 2
MAXVALUE 20
START WITH 2
CYCLE
NOCACHE;SELECT SEQ_BBS.NEXTVAL FROM DUAL;
SELECT SEQ_BBS.CURRVAL FROM DUAL;
DROP SEQUENCE SEQ_BBS;
방법 2) 기본값을 이용한 시퀀스 객체 생성 ⭐
CREATE SEQUENCE SEQ_BBS
NOCACHE
NOCYCLE;시퀀스 객체에 데이터 생성
INSERT INTO BBS VALUES (SEQ_BBS.NEXTVAL,'제목' || SEQ_BBS.NEXTVAL,'KIM',SYSDATE);입력한 시퀀스 객체 데이터 확인
SELECT * FROM BBS;입력한 시퀀스 객체 데이터 삭제
DELETE FROM BBS;
DMLTABLE 테이블 생성 예시 📖]
CREATE TABLE DMLTABLE(
COL1 NUMBER PRIMARY KEY,
COL2 CHAR(1) DEFAULT 'Y',
COL3 VARCHAR2(10) NOT NULL,
COL4 DATE DEFAULT SYSDATE
);
DMLTABLE 테이블 새로운 열 추가 예시 ➕]
ALTER TABLE DMLTABLE ADD COL5 VARCHAR2(10);
SEQ_DMLTABLE 시퀀스 생성 예시 ➕]
CREATE SEQUENCE SEQ_DMLTABLE
NOCACHE
NOCYCLE;
SEQ_DMLTABLE 시퀀스 테이블 구조 및 데이터 확인 📖]
DESC DMLTABLE;
SELECT * FROM DMLTABLE;
SEQ_DMLTABLE 시퀀스 생성 예시 ➕]
CREATE SEQUENCE SEQ_DMLTABLE
NOCACHE
NOCYCLE;
🔖 중요 ]
- 데이터 입력을 위한 SQL구문 작성시 문자형(CHAR혹은 VARCHAR 등)은 반드시 '(작은 따옴표)로 값을 감싸야 한다.
- 숫자형은 작은 따옴표가 필요 없다.
📌 데이터 입력 SQL 구문
입력 방법 첫번째 SQL구문
INSERT INTO 테이블명(컬럼명1,컬러명2,---------,컬러명N)
VALUES(값1,값2,---------------,값N)
입력 방법 두번째 SQL구문
INSERT INTO 테이블명
VALUES(값1,값2,---------------,값N)
※ 컬럼에 NULL삽입시 : '' 혹은 NULL
※ 디폴트 제약 조건을 준 컬럼에 DEFALUT값 삽입시 : DEFAULT
INSERT INTO 테이블명
VALUES(값1,값2,NULL,DEFAULT)
참고사항 💡]
※ 컬럼에 NULL삽입시 : '' 혹은 NULL
※ 디폴트 제약 조건을 준 컬럼에 DEFALUT값 삽입시 : DEFAULTINSERT INTO 테이블명
VALUES(값1,값2,NULL,DEFAULT)
DMLTABLE에 INSERT 명령어 예시 ➕]
INSERT INTO DMLTABLE(COL1,COL3) VALUES (SEQ_DMLTABLE.NEXTVAL,'COL3');
INSERT INTO DMLTABLE(COL1,COL3,COL2,COL4) VALUES (SEQ_DMLTABLE.NEXTVAL,'COL3','N',SYSDATE+1);
INSERT INTO DMLTABLE VALUES (SEQ_DMLTABLE.NEXTVAL,'X','COL3',SYSDATE-1);
INSERT INTO DMLTABLE VALUES (SEQ_DMLTABLE.NEXTVAL,'X','COL3',SYSDATE-1);
📌 데이터 수정 SQL 구문
UPDATE 기존테이블명
SET 컬럼명 = 새로운값
[WHERE 업데이트 조건]DMLTABLE에 UPDATE 명령어 예시 ➕]
UPDATE DMLTABLE SET COL1='5' WHERE COL1=2;
📌 데이터 삭제 SQL 구문
DELETE [FROM] 기존테이블명
[WHERE 삭제 조건]DMLTABLE에 DELETE 명령어 예시 ❌]
DELETE FROM DMLTABLE;
참고사항 💡]
DMLTABLE에 INCREMENT BY(증가 및 감소) 예시 ➖]
ALTER SEQUENCE SEQ_DMLTABLE INCREMENT BY -;