본문 바로가기

✨ DBMS38

[SQL/MySQL] 트랜잭션 COMMIT, ROLLBACK, SAVEPOINT 사용법 트랜잭션이란? 여러 개의 SQL 명령문들을 하나의 논리적인 작업 단위로 처리하는 것이다. 여러 명령어 집합이 정상적으로 처리되면 정상 종료하도록 하고, 여러 명령어 중 하나의 명령이라도 잘못되었다면 전체를 취소한다. 하나의 트랜잭션은 All - OR - Nothing 방식으로 처리된다. TCL (Transaction Control Language) 이며, Commit과 Rollback을 포함한다. 트랜잭션을 이름 그대로 번역한다면 "거래"라는 뜻이다. 즉, 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 뜻이기도 한다. 누군가 물건을 산다고 가정했을때, 물건을 받고 돈을 주기까지 2단계의 과정을 거친다. 이때 누가 물건을 받았는데 돈을 주지 않았다면 먹튀가 발생한다. 따라서 이를 .. 2023. 8. 1.
[SQL] 서브 쿼리 - (인라인 뷰, 스칼라) - SELECT, FROM 인라인 뷰(Inline View)란? FROM절에 사용되는 서브 쿼리를 인라인 뷰(Inline View)라고 한다. 서브 쿼리가 FROM절에 사용되면 뷰처럼 결과가 동적으로 생성된 테이블로 사용가능하고, 임시적인 뷰이기 때문에 데이터베이스에 저장되지 않는다. ex) 모든 사원의 평균 급여보다 적게 받는 사원들과 같은 부서에서 근무하는 사원의 사번, 이름, 급여, 부서번호 여기 EMPLOYEES 테이블이 있다. 이 테이블과 비교할 똑같은 테이블로 평균 급여를 구하고, 부서번호를 구했다. 같은 EMPLOYEES에 조건에 해당하는 DEPARTMENT_ID를 조회했다. 그렇다면, 이 테이블은 평균 급여보다 적게받는 사원들의 사원 번호이므로, 이 테이블 그대로 EMPLOYEES 테이블과 조인하면 값이 나올 것이다.. 2023. 7. 31.
[MySQL / SQL] - JOIN 조인 (Cross , Equi , Self , Outer , Union ) 위에는 EMP 테이블, SALGRADE 테이블, DEPT 테이블이 있다. 상호 조인 ( Cross Join) 이란? 테이블들을 연결하여 연속적으로 기술하는 것이다. 컬럼 수는 EMP 컬럼수 + DEPT 컬럼수 + SALGRADE 컬럼수를 더한 것이되고, 행 수는 EMP 행 * DEPT 행 * SALGRADE 행이 된다. 조인될 때 아무런 조건을 제시하지 못했기 때문에 이 CROSS 조인은 아무런 의미가 없다. 따라서 조건을 사용하는 다양한 JOIN에 대해 더 알아보자. Equi(Inner) Join 이란? 동일 칼럼을 기준으로 조인. N개의 테이블 조인시 N-1개의 조인 조건이 필요하다. 공통적으로 존재하는 컬럼의 값이 일치되는 행을 연결하여 결과를 생성하는 조인 방법이다. EQUI JOIN은 가장 많이.. 2023. 7. 29.
[MySQL / SQL] - 주요 함수 ( 숫자, 문자 , 시간, 날짜) MySQL을 사용하다보면 다른 데이터베이스와도 조금씩 다른 함수들이 존재한다. 따라서 나중에 한눈에 확인해서 사용할 수 있도록 조금씩 정리해두려고한다. 숫자 HTML 삽입 미리보기할 수 없는 소스 문자 HTML 삽입 미리보기할 수 없는 소스 시간 및 날짜 HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 2023. 7. 27.