5. DB/4-1. MySQL DBMS

    MySQL - [ TCL(트랜잭션 제어어) - commit / rollback ]

    트랜잭션이란 하나의 논리적인 작업 단위로, 여러 개의 DML(insert, update, delete)이 하나의 트랜잭션을 구성할 수 있다. 혹은 하나의 DDL(Create, Alter, Drop, Truncate)이 하나의 트랜잭션을 구성한다. (만약 workbench에서 Auto-Commit이 설정되어 있으면 자동으로 저장되므로, DML 하나가 하나의 트랜잭션이 됨!) * DDL은 명령어 자체에 autocommit 내장되어있음 * DML은 설정에 따라 다름 - auto on : autocommit - auto off : commit 또는 rollback 실행해야함. 안그러면 계속 임시데이터 상태임! commit - 변경 작업을 영구히 저장하는 명령 SQL> commit; ..

    MySQL - [ 서브쿼리 ]

    1. 서브쿼리(Subquery)란? - 쿼리 구문 안에 또 다시 쿼리 구문이 포함되어 있는 형태 - Group by 절을 제외한 쿼리구문에 사용 가능 - 서브쿼리 유형 : 단일행 서브쿼리(단일행 비교연산자), 다중행 서브쿼리 (다중행 비교연산자) 단일컬럼 서브쿼리(비쌍 비교), 다중컬럼 서브쿼리 (쌍 비교) => 단일행 서브쿼리(단일컬럼 / 다중컬럼), 다중행 서브쿼리(단일컬럼 / 다중컬럼) 총 4가지 유형 있음 - Subquery(inner query)를 먼저 실행하여 그 결과를 main query(outer query)에 사용함. - 서브쿼리는 괄호로 묶어서 작성한다. - where절 또는 having절에 사용된 경우 가독성을 위해 연산자의 오른쪽에 배치한다. ex) Davies..

    MySQL - [ 그룹 함수 ]

    1. 그룹 함수 - 그룹 함수 : 행그룹을 조작해서 하나의 결과를 반환하는 함수. null값에 대해서는 작업을 하지 않음!!! MIN(행그룹) - 행그룹에서 최소값을 구해주는 함수 - 모든 데이터타입에 사용 가능함. MAX(행그룹) - 행그룹에서 최대값을 구해주는 함수 - 모든 데이터타입에 사용 가능함. 더보기 Ex) select min(salary) as "최소 급여", max(salary) as "최대 급여" from employees; SUM(행그룹) - 행그룹의 합계를 구해주는 함수 AVG(행그룹) - 행그룹의 평균을 구해주는 함수 더보기 Ex) select sum(salary) as "급여 합계", avg(salary) as "평균 급여" from employees; COUNT(*) 행그룹에서 ..

    MySQL - [ 그룹 함수  ]

    MySQL - [ 단일 행 함수 (변환 함수 / 제어 흐름 함수 / 시스템 정보 함수)]

    1. 변환함수 DATE_FORMAT(날짜, 형식) 날짜를 형식에 맞게 출력하는 함수 더보기 %Y : 년도를 4자리 숫자로 표현 %y : 년도를 2자리 숫자로 표현 %M : 월을 영문 풀네임으로 표현 %b : 월을 영문 약자로 표현 %m : 월을 2자리 숫자로 표현 %c : 월을 2자리 숫자로 표현하되 10보다 작을 경우 한자리로 표현 %d : 일을 2자리 숫자로 표현 %e : 일을 2자리 숫자로 표현하되 10보다 작을 경우 한자리로 표현 %W : 요일을 영문 풀네임으로 표현 %a : 요일을 영문 약자로 표현 %H : 시간을 24시간으로 표현 %h : 시간을 12시간으로 표현 %k : 시간을 24시간으로 표현하되 0보다 작을 경우 한자리로 표현 %l (소문자 엘) : 시간을 12시간으로 표현하되 0보다 작..

    MySQL - [ 단일 행 함수 (변환 함수 / 제어 흐름 함수 / 시스템 정보 함수)]

    MySQL - [ 단일 행 함수 ( 숫자 함수 / 날짜 함수 ) ]

    1. 숫자 함수 ROUND(숫자, 반올림할 자리) - 숫자를 반올림할 자리까지 반올림을 해주는 함수 - 반올림할 자리 생략 시 일의 자리(반올림할 자리=0)로 반올림 - 숫자가 1 1 . 1 1 이면 반올림할 자리는 각각 -1 0 1 2 이다. TRUNCATE(숫자, 버림할 자리) - 숫자를 버림할 자리까지 남기고 버림을 해주는 함수 - 두번째 인수 생략 안 됨! 더보기 Ex1) select round(45.923, 2), round(45.923, 0), round(45.923, -1); Ex2) select truncate(45.923, 2), truncate(45.923, 0), truncate(45.923, -1); CEIL(숫자) - 숫자보다 크거나 같은 최소의 정수를 반환해 주는 함수 - 즉 일..

    MySQL - [ 단일 행 함수 ( 숫자 함수 / 날짜 함수 ) ]

    MySQL - [ 단일 행 함수 (문자 함수) ]

    - 함수 : 인수를 받아들여서 정해진 작업(조작)을 한 후 하나의 결과값을 반한해줌. SQL함수는 단일행 함수와 다중행 함수(그룹함수)로 나눠짐. 1. 문자 함수 ASCII(아스키코드) 문자의 아스키 코드값을 반환해주는 함수 CHAR(숫자) 숫자의 아스키 코드값을 반환해주는 함수 더보기 * MySQL에서는 단순한 함수 결과나 계산 결과를 출력하는 경우 즉, 접근해야하는 테이블이 없는 출력구문인 경우 select절만 작성할 수 있음 * 출력 결과에 BLOB로 표시되는 경우(Workbench의 버그) 오른쪽 마우스 클릭 후 [Open Value in Viewer] 선택 후 [Text] 탭에 들어가면 정상적인 출력 결과를 확인할 수 있음 Ex) SELECT ascii('A'), char(65); LENGTH(..

    MySQL - [ 단일 행 함수 (문자 함수) ]