p. 282
- UNION은 두 쿼리의 결과를 행으로 합치는 것이다
- 사용 형식
SELECT 문장 1
UNION (ALL)
SELECT 문장 2
- UNION : 중복된 열은 제거되고, 데이터는 정렬
- UNION ALL : 중복된 열까지 모두 출력
- 단, 각 SELECT 문자의 결과 열의 개수와 데이터 형식도 열 단위로 같거나 서로 호환되는 데이터 형식이어야 한다
- NOT IN 은 첫 번째 쿼리의 결과 중에서, 두 번째 쿼리에 해당하는 것을 제외
- 첫 번째 쿼리의 결과 중에서, 두 번째 쿼리에 해당하는 것만 조회하기 위해서 사용
p. 284
- 조건에 따라 분기한다. BEGIN ~ END로 묶어준다
- 먼저, ifProc 라는 프로시저가 존재하면 삭제한다. 프로시저, 인덱스와 같은 요소는 DROP으로 삭제해야 한다
- DECLARE는 변수 선언에 사용되고, SET은 값을 넣을 때 사용한다
- IF 조건 THEN ~ ELSE ~ END IF ; 로 조건문을 사용한다
- 짝수 / 홀수를 구분하는 프로시저를 작성해보자
p. 242
- ADDDATE / SUBDATE : 날짜를 기준으로 차이를 더하거나 뺀 날짜를 출력한다
- CURDATE() / CURTIME() : 현재 연-월-일 / 사:분:초 를 출력해준다
- SYSDATE() : 현재 연-월-일 시:분:초 를 한 번에 출력해준다
- DATEDIFF ( 날짜 1 , 날짜 2 ) : 날짜 1 - 날짜 2 의 일 수 결과를 출력해준다
실습했던 usertbl 에서 각 사용자들의 생년을 확인하여 올해가 짝수라면 생년이 짝수인 사람들의 정보 출력시 마지막 열에 "건강검진 대상자 입니다" 라고 출력하고, 만약 생년이 홀수라면 "내년 건강검진 대상자 입니다" 라고 출력하자
- 합계나 평균등 집계함수의 결과를 GROUP BY 없이 출력하고 싶을때 사용할 수 있다. ( p. 252 참조 )
p. 287
CASE
WHEN ~ THEN ~
ELSE ~
END CASE ;
- 위 형태로 사용한다
p. 330
- 테이블 수정은 ALTER TABLE을 사용한다
- 생성된 테이블에 무엇인가 추가/변경/수정/삭제 하는 것은 모두 ALTER TABLE을 사용한다
- 일반적으로 열을 추가하면 맨 마지막에 추가된다. 이때 뒤에 DEFAULT를 통해 기본 값을 설정하거나, NULL을 통해 NULL 값을 허용할 수 있다
- AFTER 키워드를 통해 추가할 열의 위치를 설정할 수 있다
- delete를 통해 삭제하면, 열은 그대로 있고, 안에 DATA만 삭제된다. 허나, DROP을 통해 삭제하면, 열도 삭제된다
- 다음과 같이 열 이름과 데이터 형식을 변경할 수 있다
- 이름 / 점수 / 합격 여부
p. 292
해당 < 부울 식 > 이 참인 동안에는 계속 반복되는 반복문
WHILE < 부울 식 > DO
SQL 명령문들...
END WHILE ;
- 해당 형태로 사용한다
인스턴스 생성 스크립트에서
WHILE TRUE DO
인스턴스가 만들어져 있는가?
아닐 경우 - 출력
있을 경우 - BREAK ;
sleep 3;
DONE
- 할 수도 있다
- 데이터 베이스 생성하기
- 테이블 생성하기
- INSERT 해서 데이터 입력하기
- SELECT 에서 조건절 이용하여 원하는 데이터 출력하기
- PK / FK 지정
- INNER JOIN
- 간단한 VIEW 생성
- 간단한 TRIGGER 생성
- DATA REPLICATION
- GALERA CLUSTERING : 여러 대의 데이터 베이스를 클러스터로 묶어 마치 한 대의 DB 서버 처럼 동작시키는 기술
- 프로메테우스&그라파나
- 프로메테우스 : 대상 시스템으로부터 각종 모니터링 지표를 수집하여 저장하고 검색할 수 있는 시스템
- 그라파나 : 프로메테우스를 비롯한 여러 데이터들을 시각화해주는 모니터링 툴