SQL 4

피벗(PIVOT) 테이블

다른 분이 만들어분 SQL에 GROUP_CONCAT()함수가 나와 인터넷에 찾아보니 이는 테이블 피벗을 위한 함수임을 알았습니다. 여기서 피벗이란 '테이블 데이터를 행에서 열로 바꾸는 과정'입니다. 즉, 보통의 테이블은 세로로 데이터가 나오지만 특정한 데이터를 가로로 묶어 보여주기 위한 함수입니다. idx group name 1 1 white 2 1 black 3 2 green 4 2 orange 이처럼 데이터가 있으면 이를 group으로 묶어서 보여주고 싶을 경우 아래 SQL처럼 사용하면 됩니다. SELECT group, GROUP_CONCAT(name) FROM test GROUP BY group 이 결과 아래 테이블이 나옵니다. group name 1 white, black 2 green, oran..

DB/mysql(mariaDB) 2022.06.19

stored procedure(저장 프로시저) 만들기

저번글에서 적었듯 sp(저장 프로시저)는 장점과 단점들이 있습니다. 하지만 빠른 처리속도와 DB의 보안을 간단하게 높여준다는 것에서는 장점이 있습니다. 이번편에서는 저장 프로시저를 어떻게 만들고 실행하는지 알아보겠습니다. DELIMITER $$ CREATE PROCEDURE 프로시저 이름() BEGIN SELECT 뽑을 이름 FROM 사용할 테이블 [where][order by][group by]; END $$ DELIMITER ; 1. 처음에 문단의 마침을 ; 에서 $$로 바꾸어 준다는 의미의 DELIMITER를 사용합니다. (꼭 $$가 아니어도 됩니다.) 2. 다음은 프로시저를 생성하는 단계입니다. CREAT PROCEDURE 이름()으로 생성합니다. 3. BEGIN 을 시작으로 프로시저 내용을 적습..

DB/mysql(mariaDB) 2022.06.19

mysql stored procedure(저장 프로시저) 란?

mysql에는 sp(stored procedure)이 있습니다. 이는 저장된 sql을 순차적으로 실행하는 프로그램으로 질의 형식만 가능한 sql에 절차적인 실행을 가능하게 해주는 방법입니다. 이는 oracle에선 pl/sql이라고 불리며 mysql은 sp라고 불립니다.(정확히는 다르지만 sql을 절차적으로 실행하게 해줍니다.) 많은 분들이 장점과 단점을 말씀하시고 극명히 나타나는 장점과 단점도 있습니다. 장점 -빠른 처리속도(더하기 등의 사칙연산은 제외) DB에서 직접 데이터를 처리하여 더 빠른 속도의 처리가 가능 합니다. -높은 보안성 각 sp간의 보안이 개별화 되어 있어 일차적인 해킹을 막습니다.(sql injection 등) -높은 재활용성 필요한 부분의 sp를 만들고 이를 호출하여 데이터만 받아오..

DB/mysql(mariaDB) 2022.06.06

두 날짜의 차이값 계산 함수(TIMESTAMPDIFF)

TIMESTAMPDIFF(단위, 날짜 1, 날짜 2) 순서로 사용합니다. 이 함수는 날짜 2 - 날짜 1 의 값을 단위로 표현해준다. SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR : 연 참조 : https://extbrain.tistory.com/78 [MySQL] 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) ▶MySQL 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) ▶설명 MySQL에서 두 날짜간의 차이를 가져올 때 사용하는 함수가 두 가지가 있습니다. 단순히 일 차이를 가져올 때 사용하는 것이 DATEDIFF 함수 extbrain.tistory.com

DB/mysql(mariaDB) 2022.05.25