본문 바로가기

db

[무조건 따라하기] 트랜잭션 📌 트랜잭션 Transaction 최종 결과를 내기까지 하나의 작업 단위를 의미. Oracle DataBase는 개발자가 전달한 insert, update, delete 문을 메모리상에서만 수행하고 디스크에 반영하지 않음(테이블생성,삭제는 자동 디스크 반영됨)=> 실수로 인한 데이터의 유실을 막기 위함. 데이터 베이스를 조작하는 작업이 완료되고 모두 정상적으로 되었아면 이를 디스크에 반영해야함. 작업이 시작되고 디스크에 반영될 때까지의 작업의 단위 = 트랜잭션. COMMIT : 트랜잭션을 완료하고 디스크에 반영. 복구 불가 ROLLBACK : 트랜잭션을 취소 SAVEPOINT : RALLBACK의 단위를 지정. 지정 시, SAVEPOINT [세이브포인트이름] / 호출 시, ROLLBACK TO [세이브포.. 더보기
[무조건 따라해보기] TABLE TABLE CREATE TABLE 테이블명(컬럼명 자료형 제약조건, 컬럼명 자료형 제약조건) CHAR(SIZE) : 고정 길이 문자열 타입 VARCHAR2(SIZE) : 가변 길이 문자열 타입 NUMBER : 최고 40자리까지 저장할 수 있는 숫자 타입 DATE : 날짜 LONG : 가변 길이 문자열 타입, 최대 2Gbyte CREATE TABLE EMP ( EMPNO NUMBER(10) CONSTRAINT EMPNO_PK PRIMARY KEY, ENAME VARCHAR2(20), JOB VARCHAR2(20), MGR NUMBER(10), HIREDATE DATE default sysdate, SAL NUMBER(10), COMM NUMBER(10), DEPTNO NUMBER(10) ); 📍 서브쿼리로.. 더보기
[무조건 따라하기] INSERT, UPDATE, DELECT 📌 DML(Data Manipulation Language(데이터 조작어)) INSERT : 테이블에 새로운 로우를 추가하는 구문INSERT INTO 테이블명 (컬럼명) VALUES (값) INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(222,'김제니','개발'); INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(223,'로제','인사'); INSERT INTO EMP01 (EMPNO, ENAME, JOB) VALUES(224,'지수','생산'); --컬럼목록을 생략하는 경우 (모든 컬럼에 DATA 넣을때만!) INSERT INTO EMP01 VALUES(225,'리사','개발'); --컬럼 목록에 모든 컬럼에 있지 않을 경우 (JOB에 .. 더보기
[무조건 따라해보기] DML 그룹함수, HAVING, JOIN, SET, 서브쿼리 📌 DML(Data Manipulation Language(데이터 조작어)) SELECT : 데이터 베이스에 저장된 데이터를 가져오는 명령문 , 다양한 상황이나 조건에 맞는 데이터를 빠르고 쉽게 가져올 수 있음 📍 그룹함수, SELECT 문을 통해 가져올 결과를 그룹으로 묵고 그룹 내에서 지정된 컬럼의 총합, 평균 등을 구할 수 있는 함수 SUM : 총합 AVG : 평균 COUNT : 로우의 수 MAX : 최대값 MIN : 최소값 --사원들의 급여 총합을 구한다. SELECT SUM(SAL) FROM EMP; --그룹함수(1줄) 다른 컬럼(1줄이상 나옴) 을 묵는 것은 ERROR 'NOT A SINGLE-GROUP FUNCTION' SELECT EMPNO, SUM(SAL) FROM EMP; --ERROR.. 더보기
[무조건 따라해보기] DML 날짜함수 , DECODE, CASE 📌 DML(Data Manipulation Language(데이터 조작어)) SELECT : 데이터 베이스에 저장된 데이터를 가져오는 명령문 , 다양한 상황이나 조건에 맞는 데이터를 빠르고 쉽게 가져올 수 있음 📍 날짜함수 오라클은 날짜 데이터를 제어할 수 있는 함수를 제공한다. SYSDATE : 현재 날짜와 시간을 반환한다. MONTHS_BETWEEN : 두 날짜간의 개월 수를 구한다. ADD_MONTHS : 주어진 개월 수 만큼 더한다. --현재 날짜 구하기 SELECT SYSDATE FROM DUAL; --(21/05/08) --날짜 데이터 연산 (10000일) SELECT SYSDATE, SYSDATE-10000, SYSDATE+10000 FROM DUAL; --각 사원이 입사한 날짜로부터 100.. 더보기
[무조건 따라해보기] DML 정렬, 숫자함수, 문자열함수 📌 DML(Data Manipulation Language(데이터 조작어)) SELECT : 데이터 베이스에 저장된 데이터를 가져오는 명령문 , 다양한 상황이나 조건에 맞는 데이터를 빠르고 쉽게 가져올 수 있음 📍 정렬 SELECT 문을 통해 얻어온 결과를 특정 컬럼을 기준으로 오름차순 혹은 내림차순으로 정렬할 수 있다. 숫자, 문자열, 날짜 등 모든 타입의 데이터를 정렬할 수 있다. SELECT [컬럼명] FROM [테이블명] WHERE (조건절) ORDER BY [컬럼명] (ASC|DESC) ASC : 오름차순 , 생략가능 DESC : 내림차순 --사원의 이름, 사원번호, 급여를 급여 기준으로 오름차순 정렬한다. SELECT ENAME, EMPNO , SAL FROM EMP ORDER BY SAL A.. 더보기