개발/데이터베이스 5

Mysql 배치작업(이벤트)

정기적으로 진행이 되어야 하는 작업이 있어서 어플리케이션에서 진행을 할까 하다가 어차피 해야 하는 일이 특정 데이터의 집계를 등록 및 수정을 해야 하는 일이기에 DB 에서 이벤트를 활용하여 진행하기로 결정!!! 당연한 말이겠지만 여타 다른 DB 들도 마찬가지 겠지만 시스템이 자체적으로 진행을 하야 하는 배치 업무가 어느단계에서 진행하느냐에 따라서 해당 권한을 가지고 작업을 진행하는 매체를 지정하는 것이 좋을 것 같다. DELIMITER $$ ALTER DEFINER=`XXXX`@`%` EVENT `evt_bill` ON SCHEDULE EVERY 1 MONTH STARTS '2020-10-01 04:00:00' ON COMPLETION NOT PRESERVE ENABLE COMMENT '매달 1일 새벽 ..

Mssql split 함수로 구현

대체 왜 이런 함수가 기본으로 없는거요? /* ------------------------------------------------------------ * Split 함수 * SELECT dbo.fn_split( '123-4567' , 1 , '-' ) ------------------------------------------------------------ */ ​ CREATE FUNCTION [dbo].[fn_split] ( @str varchar(1000), @spliter varchar(5), @idx int ) RETURNS varchar(1000) AS BEGIN DECLARE @NextString NVARCHAR(40) DECLARE @Pos INT DECLARE @NextPos INT..

Mysql 인자값의 최소,최대 값 반환함수

날짜 관련 업무를 많이 하다보니까 종종?? 많이 사용하는 함수 인데 사용하려고 할때마다 둘의 기능이 아리송하여 정리를 해두겠습니다. # LEAST( p ) : 최소값 ex) SELECT LEAST(34.0, 3.0, 5.0, 767.0); --> 3.0 반환 SELECT LEAST("A", "B", "C"); --> A반환 # GREATEST( p ) : 최대값 ex) SELECT GREATEST(34.0, 3.0, 5.0, 767.0); --> 767.0 반환 SELECT GREATEST("A", "B", "C"); --> C반환 인자로 받아들이는 변수중에서 가장 최소값 , 최대값을 리턴해주는 함수입니다.

Mysql DB 생성 / 사용자생성 / 권한주기

•create database 데이터베이스명; ex) CREATE DATABASE test; SHOW DATABASES; •create user '아이디'@'%' identified by '비밀번호' ex) CREATE USER 'test'@'%' IDENTIFIED BY 'test'; •grant all privileges on 데이터베이스명.* to '계정명'@'IP주소' identified by '비밀번호'; ex) GRANT ALL PRIVILEGES ON test.* TO 'test'@'%' IDENTIFIED BY 'test'; FLUSH PRIVILEGES; •mysql -u '아이디' -p 'DB명' ex) mysql -u 'testId' -p 'testDb' 이후에 비번 입력창에서 입력하..

Mysql 날짜기본함수 정리

* 일단 기본적인 현재 시간정보 확인 쿼리 SELECT NOW(), SLEEP(2), NOW(); SELECT SYSDATE(), SLEEP(2), SYSDATE(); 위에 두개는 뭐가 다를까 그냥 찾아 보다가 알게 된것.. SYSDATE() : 함수 호출 시간 NOW() : 쿼리 수행 시간 - SYSDATE() , NOW() : 현재 날짜 , 시간 - CURRENT_DATE() , CURDATE() , DATE( p ) : 현재 날짜 - CURRENT_TIME() , CURTIME() , TIME( p ) : 현재 시간 - LAST_DAY( p ) : 해당월의 마지막 날짜정보 - DAYOFMONTH( p ) : 해당 월에 몇번째 날짜인지 정보 - DAYOFYEAR( p) : 해당 연도의 몇번째 월인지 ..