본문 바로가기

DB

(11)
Oracle DB 페이징 처리를 위한 SEQUENCE 생성과 VIEW 생성방법 row_number(), over() SEQUENCE 처리로 자동번호 증가를 사용가능합니다. CREATE SEQUENCE [시퀀스이름] START WITH [시작할 숫자] INCREMENT BY [증가할 숫자] ex) CREATE SEQUENCE BOARD_SEQ START WITH 1 INCREMENT BY 1 시퀀스는 테이블에 insert 해줄때 시퀀스이름.NEXTVAL (ex) BOARD_SEQ.NEXTVAL)로 사용가능합니다. VIEW 임시테이블 생성방법 CREATE VIEW [뷰이름] AS [뷰에 들어갈 값], ROW_NUMBER() OVER(ORDER BY [정렬할 기준컬럼]) AS [이름] FROM [테이블명]; ex) CREATE VIEW MLIST AS SELECT MEMBER.*, ROW_NUMBER() OVER(ORDER..
오라클(Oracle) 데이터베이스(Database, DB) 조인(join)과 부질의(서브쿼리, sub query) 조인(JOIN)의 특징 - JOIN : 두 개 이상의 테이블을 연결하여 하나의 테이블처럼 사용 - INNER JOIN, OUTER JOIN, FULL OUTER JOIN - INNER JOIN : 두개 테이블의 컬럼 값이 같을 때 (공통된 컬럼) EQUI JOIN, NATURAL JOIN, JOIN ~ ON , JOIN ~ USING 부질의(서브쿼리, SUB-QUARY)의 특징 - 서브쿼리는 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며 괄호( )로 묶어서 사용한다. - 특수만 몇몇 경우를 제외하고 서브쿼리는 ORDER BY절을 사용할 수 없다. - 서브쿼리의 SELECT절에 명시한 컬럼(오른쪽 SAL)은 메인쿼리의 비교대상(왼쪽SAL)과 같은 자료형과 같은 개수로 지정해야 한다. 테이블 정보 -..
Oracle DataBase(DB) SQL 제약조건(CONSTRAINT) 예제 테이블 제약조건 1. SELLER(판매자) 판매자 : 판매자 아이디(PK), 판매자 비밀번호(NOT NULL), 판매자 주소(NOT NULL), 판매자 이메일(UNIQUE, NOT NULL), 판매자 연락처(UNIQUE, NOT NULL), 계좌번호(NOT NULL) 2. BUYER(구매자) 구매자 : 구매자 아이디(PK), 구매자 비밀번호(NOT NULL), 구매자 주소(NOT NULL), 구매자 이메일(UNIQUE, NOT NULL), 구매자 연락처(UNIQUE, NOT NULL), 계좌번호(NOT NULL) 3. GOODS(상품) 상품 : 상품번호(PK), 상품종류(NOT NULL), 상품사이즈(NOT NULL), 상품색상(NOT NULL), 상품이름(NOT NULL), 상품설명(NOT NULL),..
데이터베이스(Database, DB) 제약조건(CONSTRAINT) CONSTRAINT(제약조건) - 테이블에 특정 컬럼에 지정, 제약조건에 부합하지 않는 데이터는 저장 불가 무결성 제약조건 - 데이터 무결성은 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것을 말한다. - 일관성과 정확성을 잃어버린 데이터베이스는 정보로서의 가치에 심각한 문제가 있다. (1) 영역 무결성(Domail Intergirty) - 도메인 제약, 릴레이션 내의 튜플의 각 속성이 해당 도메인에 지정된 값만 가져야한다. (2) 개체 무결성(Entity Intergrity) - 기본키(PK) 제약, 릴레이션에 기본키를 지 정하고, 그에 따른 무결성 원칙 - 기본키(PK, Primary key)는 NULL 값을 가져서는 안되고, 릴레이션 내에 오직 하나의 값만 존재(중복X) (3) 참조 무결..
Oracle DB 함수(TRIM,REPLACE),숫자함수(ABS, ROUND, TRUNC, CEIL)와 날짜함수들 [1] 공백제거 : TRIM(), LTRIM(), RTRIM() TRIM() : 앞뒤 공백제거 LTRIM() : 왼쪽 공백제거 RTRIM() : 오른쪽 공백제거 SELECT ' 공 백 ',TRIM(' 공 백 ') AS TRIM, -- TRIM() : 앞뒤 공백제거 ' 공 백 ',LTRIM(' 공 백 ') AS LTRIM, -- LTRIM() : 왼쪽 공백제거 ' 공 백 ',RTRIM(' 공 백 ') AS RTRIM -- RTRIM() : 오른쪽 공백제거 FROM DUAL; [2] 특정문자제거 : REPLACE() REPLACE('특정 값', '특정 값에서 제거할문자') SELECT REPLACE(' 안녕하세요! 반갑습니다. ',' '), REPLACE(' ###안녕하세요! ## 반갑습니다.### ','#..
Oracle DB SQL 문자함수(UPPER, LOWER, INITCAP, LENGTH,LENGTHB, SUBSTR, INSTR, REPLACE, CONCAT, LPAD, RPAD) 오라클(Oracle) DB 테이블(table) 없이 SELECT문 사용방법 임시테이블 : DUAL 사용방법 : SELECT [조건] FROM DUAL; 데이터베이스 함수 [1] 대, 소문자 바꿔주는 함수 -UPPER : 모두 대문자로 -LOWER : 모두 소문자로 -INITCAP : 첫글자는 대문자로, 나머지는 소문자로 UPPER SELECT UPPER('AbCdEfG') AS "UPPER(대문자)" FROM DUAL; LOWER SELECT LOWER('AbCdEfG') AS "LOWER(소문자)" FROM DUAL; INITCAP SELECT INITCAP('AbCdEfG') AS "INITCAP(첫글자 대문자)" FROM DUAL; [2] 문자열의 길이를 구하는 LENGTH()함수 LENGTH --..
Oracle DB SQL DML 기초(INSERT, SELECT, UPDATE, DELETE) DML (Data Manipulation Language) : 데이터 조작어 [2] DML : (1)INSERT (2)SELECT (3)UPDATE (4)DELETE INSERT (1) INSERT : 데이터 삽입 1.모든 COLUMN 데이터를 삽입할 때 INSERT INTO [TABLE_NAME] VALUES (COLUMN_DATA1, COLUMN_DATA2, .... COLUMN_DATA); 2.특정 COLUMN 데이터를 삽입할 때 INSERT INTO [TABLE_NAME] (COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAME3) VALUES (COLUMN_NAME1_DATA, COLUMN_NAME2_DATA, COLUMN_NAME3_DATA); --1.STUDENT 테이블에 모..
Oracle DB SQL DDL 기초 (CREATE, ALTER, DROP) DDL(Data Definition Language) : 데이터 정의어 예제 CREATE -- [1] DDL : (1)CREATE (2)ALTER (3)DROP -- 예제) FIRESTU테이블 만들기 : 번호, 이름, 주소, 연락처, 생년월일, 취미, 조 /* CREATE TABLE FIRESTU( 번호 NUMBER NOT NULL, 이름 NVARCHAR2(5) NOT NULL, 주소 NVARCHAR2(30), 연락처 NVARCHAR2(11), 생년월일 NVARCHAR2(6) NOT NULL, 취미 NVARCHAR2(20), 조 NUMBER ); */ CREATE TABLE STUDENT( 번호 NUMBER PRIMARY KEY NOT NULL, 이름 NVARCHAR2(5) NOT NULL, 생년월일 D..