ORACLE DB 9

▶DDL(ALTER,DROP)◀

ALTER(바꾸다, 변조하다) - 수정 가능한 것 : 컬럼(추가/수정/삭제), 제약조건(추가/삭제), 이름변경(테이블, 컬럼, 제약조건) - 테이블을 수정하는 경우 : ALTER TABLE 테이블명 ADD | MODIFY | DROP 수정할 내용; 제약조건 추가 / 삭제 - 제약조건 추가 : ALTER TABLE 테이블명 ADD [CONSTRAINT 제약조건명] 제약조건(컬럼명) [REFERENCES 테이블명[(컬럼명)]; * NOT NULL은 MODIFY 사용 - 제약조건 삭제 : ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명; * 삭제도 마찬가지로 NOT NULL은 MODIFY 사용 컬럼 추가 / 수정 / 삭제 - 컬럼 추가 : ALTER TABLE 테이블명 ADD (컬럼명 데..

ORACLE DB 2023.06.08

▶DDL◀

데이터 딕셔너리란? - 자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블. 데이터 딕셔너리는 사용자가 테이블을 생성하거나 사용자를 변경하는 등의 작업을 할 때 데이터 베이스 서버에 의해 자동을 갱신되는 테이블 * User tables : 자신의 계정이 소유한 객체 등에 관한 정보를 조회 할 수 있는 딕셔너리 뷰 DDL (DATA DEFINITION LANGUAGE) - DDL(DATA DEFINITION LANGUAGE) : 데이터 정의 언어 - 객체(OBJECT)를 만들고(CREATE), 수정(ALTER)하고, 삭제(DROP)등 데이터의 전체 구조를 정의하는 언어로 DB관리자, 설계자가 사용함 - 오라클에서의 객체 : 테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), ..

ORACLE DB 2023.05.28

▶SUBQUERY◀

SUBQUERY(서브쿼리) - 하나의 SQL문 안에 포함된 또다른 SQL(SELECT)문 - 메인쿼리(기존쿼리)를 위해 보조 역할을 하는 쿼리문 - SELECT, FROM, WHERE, HAVING 절에서 사용 가능 단일행 (+단일열) 서브쿼리 ** 단일행 서브쿼리 앞에는 비교 연산자 사용 ** - 서브쿼리의 조회 결과 값의 개수가 1개일때 다중행 (+단일열) 서브쿼리 - 서브쿼리의 조회 결과 값의 개수가 여러개일때 ** 다중행 서브쿼리 앞에는 일반 비교연산자 사용불가 ** - IN / NOT IN : 여러개의 결과값 중에서 한개라도 일치하는 값이 있다면 혹은 없다면이라는 의미 - ANY, < ANY : 여러개의 결과값 중에서 한개라도 큰 / 작은 경우, 가장 작은값보다 큰가? / 가장 큰 값보다 작은가..

ORACLE DB 2023.05.28

▶TCL◀

TCL(Transaction Control Language) - 데이터 베이스의 논리적 연산 단위, 데이터 변경 사항을 묶어 하나의 트랜잭션에 담아 처리함 - 트랜잭션의 대상이 되는 데이터 변경사항 : INSERT, UPDATE, DELETE (DML) - 트랜잭션 제어 언어, 트랜잭션은 DML과 관련되어 있음 - COMMIT(트랙잭션 종료 후 저장), ROLLBACK(트랜잭션 취소), SAVEPOINT(임시저장) COMMIT - 메모리 버퍼(트랜잭션)에 임시 저장된 변경 사항을 DB에 반영 ROLLBACK - 메모리 버퍼(트랜잭션)에 임시 저장된 데이터 변경사항을 삭제하고 마지막 COMMIT 상태로 돌아감 --> COMMIT 하지 않고 ROLLBACK 했기 때문에 현재 DB에는 INSERT로 삽입한 데..

ORACLE DB 2023.05.25

▶DML◀

DML(Data Manipulation Language) - 데이터 조작 언어 - 테이블에 값을 삽입하거나(INSERT), 수정하거나(UPDATE), 삭제하는(DELETE)구문 INSERT - 작성법 : INSERT INTO 테이블명 VALUE(데이터, 데이터,....); INSERT INTO 테이블명(컬럼명, 컬럼명....) VALUES( 데이터, 데이터,...); - 테이블에 모든 컬럼에 대한 값을 INSERT 할 때 사용 - INSERT하고자 하는 컬럼이 모든 컬럼인 경우 컬럼명 생략 가능 - 단, 컬럼의 순서를 지켜서 VALUES에 값을 기입해야 함. UPDATE - 테이블에 기록된 컬럼의 값을 수정하는 구문 - 작성법 : UPDATE 테이블명 SET 컬럼명 = 바꿀값 [WHERE 컬럼명 비교연산..

ORACLE DB 2023.05.25

▶JOIN◀

JOIN - 하나 이상의 테이블에서 데이터를 조회하기 위해 사용 - 수행 결과는 하나의 RESULT SET으로 나옴 - 원하는 정보를 테이블에서 조회하려면 한 개 이상의 테이블에서 데이터를 읽어와야 되는 경우가 많다. 이 때, 테이블간 관계를 맺기위한 연결고리 역할이 필요한데, 두 테이블에서 같은 데이터를 저장하는 컬럼이 연결고리가 됨. 내부 조인( INNER JOIN) - 연결되는 컬럼의 값이 일치하는 행들만 조인됨 (== 일치하는 값이 없는 행은 조인에서 제외됨) - 작성방법은 크게 ANSI 구문과 오라클 구문으로 나뉘고 ANSI에서 USING과 ON을 쓰는 방법으로 나뉜다. ** ANSI 표준 구문 ** - ANSI는 미국 국립 표준 협회를 뜻함 , 미국의 산업표준을 제정하는 민간단체로 국제표준화기..

ORACLE DB 2023.05.25

▶GROUP BY◀

SELECT문 해석 순서 5 : SELECT 컬럼명 AS 별칭, 계산식, 함수식 1: FROM 참조할 테이블명 2: WHERE 컬럼명 | 함수식 비교연산자 비교값 3 : GROUP BY 그룹을 묶을 컬럼명 4 : HAVING 그룹함수식 비교연산자 비교값 6 : ORDER BY 컬럼명 | 별칭 | 컬럼순번 정렬방식 [NULLS FIRST | LAST] GROUP BY절 - 같은 값들이 여러개 기록된 컬럼을 가지고 같은 값들을 하나의 그룹의 묶음 - 작성법 : GROUP BY 컬럼명 | 함수식 .... - 그룹으로 묶은 값에 대해서 SELECT절에서 그룹함수를 사용함 - 그룹 함수는 단 한개의 결과값만 산출하기 때문에 그룹이 여러개일 경우 오류 발생 - 여러개의 결과값을 산출하기 위해 그룹 함수가 적용된 그..

ORACLE DB 2023.05.25

▶함수◀

함수 - 하나의 큰 프로그램에서 반복적으로 사용되는 부분들을 분리하여 작성해 놓은 작은 서브 프로그램. 호출하며 값을 전달하면 결과를 리턴하는 방식으로 사용. 컬럼의 값을 읽어서 연산한 결과를 반환 - 단일행 함수 : N개의 값을 읽어서 N개의 결과 반환 - 그룹 함수 : N개의 값을 읽어 1개의 결과를 반환 - 함수는 SELECT, WHERE, ORDER BY, GROUP BY, HAVING절 사용가능 LENGTH - 주어진 컬럼 값/문자열의 길이 반환 INSTR - 지정한 위치부터 지정한 순번째로 검색되는 문자의 시작 위치를 반환 - 작성법 : INSTR('문자열' | 컬럼명, '찾을문자', [찾을위치 시작위치], [순번] ) --> 앞에서 3번째에 있으므로 결과값에 3을 반환한다. SUBSTR - ..

ORACLE DB 2023.05.18

▶SELECT◀

SELECT - 데이터를 조회한 결과를 Result Set이라고 하는데 SELECT 구문에 의해 조회된 행들의 집합을 의미 - 한 테이블의 특정 컬럼, 특정 행, 특정 행/컬럼 또는 여러 테이블의 특정 행/컬럼 조회 가능 * SELECT : 조회하고자 하는 컬럼명 기술. 여러 컬럼을 조회하는 경우 컬럼은 쉼표로 구분하고, 마지막 컬럼 다음은 쉼표를 사용하지 않음. 모든 컬럼 조회 시 컬럼명 대신 '*' 기호 사용 가능하며 조회 결과는 기술한 컬럼명 순으로 표시됨. * FROM : 조회 대상 컬럼이 포함된 테이블 명 기술 * WHERE : 행을 선택하는 조건 기술. 여러개의 제한 조건을 포함할수 있으며, 제한 조건을 만족시키는 행들만 Result Set 에 포함. 컬럼 별칭 - 숫자 혹은 특수문자가 포함되..

ORACLE DB 2023.05.18