SeSac (2021-08 ~ 2021-12)/MySQL

MySQL 07 - 내장함수와 트랜잭션(Transaction)

배워도끝이없네 2021. 8. 27. 15:18

데이터베이스들은 기본적으로 가지고있는 내장함수가 있다.

 

sum(컬럼) : 합치기

avg(컬럼) : 평균값

min(컬럼) : 최소값

max(컬럼) : 최대값

mod(컬럼,나눌수) : 나머지값

count(컬럼) : 레코드 수

stdev : 표준편차

var_samp : 분산편차

 

cast("바꿀 자료" as 자료형) : 형변환

convert("바꿀자료, 자료형) : 형변환 // cast와 같음

str_to_date("시간문자열", "%Y-%m-%d"); : 문자열을 시간으로 변환

concat('문자열','문자열') : 문자열을 결합시킨다.

concat_ws('구분자','문자열','문자열'...) : 구분자를넣어 문자열을 결합시킨다.

group_concat(컬럼) : group by일 때 컬럼에 해당하는 모든 자료를 다 넣어서 합쳐준다

 

IF(식,참일때,거짓일때) : if로 값을 생산한다.

 

ifnull(컬럼,넣을값) : 컬럼이 널이면 값을 넣는다.

 

Commit & Rollback

 

show variables like '%commit%'; : 커밋에 관한 정보들을 볼 수 있다. (오토커밋 확인가능)

 

START TRANSACTION; : 선언시 커밋을할때까지 오토커밋이 풀린다.

 

commit하기전에는 자기 세션에만 변경사항이 저장되어있다가 commit하면 실제 db에 적용이 된다

(다른사람들이 커밋전에는 내가 변경한 사항을 볼 수 없음)

 

*트랜젝션은 세션단위로 제어됨!!!

 

ROLLBACK : 트랜잭션시점으로 데이터 초기화를 한다.