DB

DB/Oracle

[Oracle DB] 테이블 수정하기

테이블에 새 컬럼 추가하기 - ALTER TABLE 테이블명 ADD (컬럼명 컬럼타입 제약조건, ...); - 새 컬럼이 추가되면 기존에 존재하던 행들은 해당 컬럼값이 null로 추가된다. - 새 컬럼을 추가할 때 DEFAULT를 설정해 놓으면 DEFAULT로 추가된다. -- 디폴트 값을 설정하지 않고 새 컬럼 추가(null로 디폴트 값 설정) ALTER TABLE fruits ADD ( taste NUMBER(1) ); -- 디폴트 값을 설정하고 새 컬럼 추가 ALTER TABLE fruits ADD ( grade VARCHAR2(2) DEFAULT 'B' ); 테이블 컬럼 삭제하기 ALTER TABLE 테이블명 DROP COLUMN 컬럼명; ALTER TABLE fruits DROP COLUMN ta..

DB/Oracle

[Oracle DB] 제약 조건

무결성 - 결함이 없는 성질 - 데이터를 결함없는 상태로 올바르게 유지하는 것은 무결성을 유지한다고 한다. - 데이터를 올바르게 관리하기 위해서는 다양한 종류의 무결성을 충족시켜야 한다. - 데이터베이스에서는 다양한 제약 조건들을 통해 여러가지 무결성을 보장한다. 개체 무결성 - 테이블의 데이터는 반드시 하나의 행을 선택할 수 있어야 한다. - 개체 무결성을 지키기 위해 제약 조건으로 기본키(PK)를 사용한다. 참조 무결성 - 참조 관계에 있는 데이터는 유효한 데이터를 참조해야 한다. - 참조 무결성을 지키기 위해 제약 조건으로 외래키(FK)를 사용한다. 도메인 무결성 - 하나의 도메인(컬럼)을 구성하는 개체들은 모두 같은 타입이어야 한다. - 컬럼 타입을 지정하여 해당 컬럼의 도메인 무결성을 유지할 수..

DB/Oracle

[Oracle DB] 데이터 추가, 수정, 삭제하기

테이블에 데이터 추가하기 - INSERT INTO 테이블명(컬럼, 컬럼, ...) VALUES(값, 값, ...); - INSERT INTO 테이블명 VALUES(모든 컬럼값을 순서대로); CREATE TABLE fruits( fname VARCHAR2(30), price NUMBER(8), qty NUMBER(6) ); -- # 기본 INSERT INSERT INTO fruits(fname, price, qty) VALUES('apple', 500, 80); INSERT INTO fruits(fname, price, qty) VALUES('apple', 500, 80); INSERT INTO fruits(fname, price, qty) VALUES('banana', 1000, 100); -- # 컬럼..

DB/Oracle

[Oracle DB] 테이블 생성하기

CRUD - 대부분의 프로그램들이 가지고있는 기본적인 데이터 처리들을 줄여 표현한 것 - Create (데이터 생성) - Read (데이터 읽기) - Update (데이터 수정) - Delete (데이터 삭제) DML (Data Manipulate Language, 데이터 조작어) - 테이블의 데이터를 조작하는 명령어들 - INSERT : 테이블 데이터 추가하기 (C) - SELECT : 테이블 데이터 읽기 (R) - UPDATE : 테이블 데이터 수정하기 (U) - DELETE : 테이블 데이터 삭제하기 (D) DDL (Data Definition Language, 데이터 정의어) - DB 오브젝트를 정의하는 명령어들 ※ DB 오브젝트 - 테이블, 시퀀스, 뷰, 인덱스, 사용자 계정, ... - CRE..

DB/Oracle

[Oracle DB] 서브 쿼리

서브 쿼리 - 쿼리문 내부에 포함된 또 다른 쿼리문 - 서브 쿼리를 포함하고 있는 쿼리를 메인 쿼리라고 부른다. - 서브 쿼리의 실행 결과에 따라 단일 행 서브 쿼리와 다중 행 서브 쿼리로 분류된다. - 단일 행 대상 연산자와 다중 행 연산자가 다르다. - 서브 쿼리는 비교 또는 연산 값으로 활용되거나 조회해야하는 테이블 대용으로 활용될 수 있다. 단일 행 서브 쿼리 - 서브 쿼리의 결과가 단 하나의 행인 경우 - 단일 값끼리 비교하는 일반 연산자를 사용할 수 있다. (=, >, = (SELECT salary FROM employees WHERE employee_id = 102); -- 테이블 대신 서브 쿼리 사용 SELECT * FROM (SELECT job_id, job_title FROM jobs ..

DB/Oracle

[Oracle DB] ANSI JOIN

ANSI JOIN - ANSI에서 지정한 표준 JOIN 문법 - 다른 관계형 데이터베이스에서도 사용할 수 있는 표준 문법 * ANSI(America National Standard Institute) : 미국 국제 표준 기구 CROSS JOIN SELECT * FROM employees CROSS JOIN departments; INNER JOIN (조건을 충족하는 행만 등장하는 것) - 조인 조건에는 ON절을 사용하고 원하는 조건에는 WHERE절을 사용 - 조인하는 두 테이블이 조인하기 위해 사용하는 컬럼명이 같다면 USING을 사용 (조인에 사용된 컬럼이 맨 앞으로 이동되고, 중복도 제거된다.) SELECT * FROM employees e INNER JOIN departments d ON e.dep..

DB/Oracle

[Oracle DB] SELF JOIN

SELF JOIN - 하나의 테이블에서 자기 자신과 JOIN하여 원하는 데이터를 얻어내는 JOIN - 해당 테이블의 기본키를 같은 테이블의 다른 컬럼에서 외래키로 사용하는 경우 ex: employees의 manager_id SELECT * FROM employees; SELECT emp.first_name AS 사원이름, emp.salary AS 부하월급, mgr.first_name AS 담당매니저이름, mgr.salary AS 상사월급 FROM employees emp, employees mgr WHERE emp.manager_id = mgr.employee_id;

DB/Oracle

[Oracle DB] OUTER JOIN

OUTER JOIN - JOIN 조건을 만족하지 못해 등장하지 못하는 행을 추가로 확인할 수 있는 JOIN - (+)를 붙인 쪽에 null을 추가해서 조건을 억지로 맞춰 등장하지 못했던 행을 조회한다. -- 일반적인 조인의 경우 외래키 컬럼에 null이 있으면 조회되지 않는 행이 존재한다. -- departments 쪽에 (+)를 붙이면 해당하는 부서가 없더라도 등장하게 된다. SELECT * FROM employees e, departments d WHERE e.department_id = d.department_id(+) ORDER BY employee_id; -- employees 쪽에 (+)를 붙이면 employees쪽에 null을 붙여서 등장하지 못했던 부서들이 등장한다. SELECT * FRO..

로아다
'DB' 카테고리의 글 목록 (2 Page)