
📃 요약
전세계 기업시장에서 굉장히 활용 많이 하는 관계형 DB 로 오라클이 있음.
상용 가격은 굉장히 비싸고, 유지보수 비용도 굉장히 높은것으로 알려져 있음.
마이크로서비스가 활성화 되면서 예전과 달리 비싼 비용의 오라클보다 무료 DB 로 전환하는 사례도 나타나고 있음
주로 서비스업체 중심으로 Mysql / Maria DB 가 많이 활용되고 SI 프로젝트는 아직도 전통의 강자 오라클이 많이 사용되고 있음
요소 기술 :
– Basic : SQL
📃 기술 구현
스펙 :
- SQL Developer - Oracle SQL
📃 테이블 기초
- CRUD : 약어 , DB 또는 실무 프로젝트 많이 사용하는 용어 - C(CREATE 문(생성)), R(READ, SELECT 문(조회)), U(UPDATE 문(수정)), D(DELETE 문(삭제)) - 테이블 의미 : DB(데이터베이스)에서 자료를 저장하는 곳(논리적 공간)
1. 테이블 생성
1) 테이블 생성 :
- DDL( DATA DEFINITION LANGUAGE : 데이터 정의어(용어)) - NUMBER(크기) : 숫자 자료형, (실수, 정수 등) - VARCHAR2(크기) : 문자열 자료형, 가변자료형 (VS CHAR(크기): 고정자료형)
사용법 : CREATE TABLE 테이블명( 컬럼명 자료형(크기), ... ); 예 : CREATE TABLE DEPT( DNO NUMBER(2), DNAME VARCHAR2(14), LOC VARCHAR2(13) );
2) 테이블 복사
테이블 구조 + 데이터 복사
사용법 : CREATE TABLE 복사할테이블명 AS SELECT * FROM 원본테이블; 예 : CREATE TABLE DEPT_COPY AS SELECT * FROM DEPARTMENT;
3) 테이블 구조 복사
테이블 구조 : 데이터 제외
사용법 : CREATE TABLE 복사할테이블명 AS SELECT * FROM 원본테이블 WHERE 거짓조건; 예 : CREATE TABLE DEPT_COPY2 AS SELECT * FROM DEPARTMENT WHERE 1=2; -- 거짓조건 아무거나 붙이면 데이터 빼고 복사됨
4) 테이블 / 컬럼 주석
- 테이블/컬럼에 상세 설명을 붙일 수 있음
사용법 : 테이블 주석 달기 COMMENT ON TABLE 테이블명 IS '테이블주석'; 예 : COMMENT ON TABLE DEPT IS '부서정보'; 사용법 : 컬럼 주석 달기 COMMENT ON COLUMN 테이블명.컬럼명 IS '컬럼주석'; 예 : COMMENT ON COLUMN DEPT.DNO IS '부서번호'; COMMENT ON COLUMN DEPT.DNAME IS '부서명'; COMMENT ON COLUMN DEPT.LOC IS '부서위치';
5) 테이블 삭제 :
- DROP TABLE 테이블명;
DROP TABLE DEPT_COPY;
6) 트랜잭션 관리 :
- 영구반영 : INSERT/UPDATE/DELETE 에 대해서 영구 반영됨, 취소 불가 - 취소 : INSERT/UPDATE/DELETE 에 대해서 취소 가능
-- 취소 : ROLLBACK; ROLLBACK; -- 영구 반영 : 취소(ROLLBACK)불가상태 -- 의미 : 영구 반영하면 다른 유저가 현재 생성한/수정/삭제한 데이터를 볼 수 있음 COMMIT;
7) 데이터 생성 :
- INSERT
사용법) INSERT INTO 테이블명(컬럼명, 컬럼명2, ...) VALUES(값, 값2, ...); -- 데이터 추가 예 : -- 예제) DEPT_COPY 테이블에 데이터 INSERT INSERT INTO DEPT_COPY(DNO, DNAME, LOC) VALUES(10, 'ACCOUNTING', 'NEW YORK'); -- 데이터 추가 -- NULL 값도 추가 가능 INSERT INTO DEPT_COPY(DNO, DNAME, LOC) VALUES(40, 'OPERATIONS', NULL); -- 데이터 생성 -- 있는 컬럼을 제외하면 자동으로 NULL 이 입력됨 INSERT INTO DEPT_COPY(DNO, DNAME) VALUES(30, 'SALES'); -- 데이터 생성 -- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음 COMMIT;
8) 데이터 수정 :
- UPDATE
사용법) UPDATE 테이블명 SET 컬럼명 = 변경할값 WHERE 컬러명 = 값; (조건) 예 : UPDATE DEPT_COPY SET DNAME = 'PROGRAMMING' WHERE DNO = 10; -- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음 COMMIT;
9) 데이터 삭제 :
- DELETE
사용법) DELETE (FROM) 테이블명 WHERE 컬럼명 = 값; -- 예제) 10번 부서를 삭제하세요 DELETE FROM DEPT_COPY WHERE DNO = 10; SELECT * FROM DEPT_COPY; -- 영구 반영 COMMIT;