SQL 트랜잭션(transaction) SQL 트랜잭션은 데이터베이스에서 한 번에 수행되어야 하는 일련의 작업 단위를 의미합니다. 예를 들어 송금 업무 중 '손’이 '김’에게 송금할 때, '손’에게 금액이 빠져나갔음에도, 오류로 '김’의 금액이 늘어나지 않는 상황이 발생하면 안됩니다. 때문에 이런 업무는 쿼리를 묶어서 한번에 실행되어야 하며, 오류가 발생하였다면 전체가 실행되어선 안됩니다. Transaction 명령어 BEGIN TRANSACTION : 새로운 트랜잭션을 시작합니다. ROLLBACK : 현재까지의 변경 사항들을 취소하고 (즉, 이전 상태로 되돌리고), 현재의 트랜잭션을 종료합니다. COMMIT : 현재까지의 변경 사항들을 데이터베이스에 반영하고 (즉, 저장하고), 현재의 트랜잭션을 종료합..
SQL
MyBatis Dynamic SQL (동적 SQL) 어노테이션에 직접 태그 등을 사용하려면 """) @Select(""" """) if SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} 조건식이 참인 경우 쿼리문을 실행한다. test문 따옴표 주의 test문은 ‘작은따옴표’(싱글쿼테이션) 로 묶는 것이 좋다. 문자열을 인식시키기 위해서는 큰 따옴표를 사용한다. ‘Y’는 char형식으로 취급되어 숫자 86으로 인식한다. 한 캐릭터의 문자열인 "Y"를 비교하려면 test문을 작은따옴표로 묶은 후, 문자열 등은 큰 따옴표로 묶어주는 것이 좋다. @Select(""" """) String select1(String country); foreac..
JOIN JOIN 은 데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 표현해준다. 특정 컬럼 기준으로 조인을 하는 경우가 많다. 이때 사용할 수 있는 명령어들이 있다. USING(컬럼명) NATURAL JOIN : 공통된 컬럼을 필터링하여 시작한다. SELECT * FROM products p JOIN suppliers s ON p.SupplierID = s.SupplierID ; SELECT * FROM products p JOIN suppliers s USING (SupplierID); SELECT * FROM products p NATURAL JOIN suppliers s; Join의 유형 INNER JOIN INNER JOIN: Returns record..