본문 바로가기
728x90

Programming/SQL74

[MySQL] JSON 데이터 다루기 안녕하세요. 데이터 포맷으로 많이들 사용되고 있는 JSON 데이터를 MySQL로 다루는 방법에 대해 알아보겠습니다. MySQL JSON ▣ JSON이란? (JavaScript Object Notation) 속성-값 쌍(attribute–value pairs), 배열 자료형(array data types) 또는 기타 모든 시리얼화 가능한 값(serializable value) 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷 - 대부분의 프로그래밍 언어에서 다뤄지며 데이터 전송 등 다양하게 사용됨. : JSON 형식 예시 { "movie" : "아바타: 물의 길", "open_date" : "2022-12-14", "director" .. 2022. 12. 14.
[MySQL] Signed, Unsigned 비교 및 차이 안녕하세요. 오늘은 MySQL에서 데이터 타입 속성 Signed과 Unsigned에 대해서 비교해보고 차이를 알아보겠습니다. MySQL Signed vs Unsigned ▣ Integer(정수) 타입 Signed & Unsigned - MySQL은 SQL의 표준 정수 타입인 INTEGER(INT)와 SMALLINT 그리고 표준 정수 타입의 범위를 더 확장한 TINYINT, MEDIUMINT, BIGINT까지 제공하고 있음. - 각 정수 타입에 따라 요구되는 저장 공간과 표현할 수 있는 최댓값과 최솟값까지 달라짐. - 정수 타입은 음수까지 표현이 가능한 Signed 타입과 양수만을 표현할 수 있는 Unsigned 타입으로 구분됨. : MySQL 정수 타입별 표 타입 저장공간 Signed Unsigned T.. 2022. 12. 12.
[SQL] LAG & LEAD (그룹 내 행 순서) 안녕하세요. 오늘은 SQL에서 대표적인 윈도우 함수 LAG와 LEAD에 대해서 알아보겠습니다. MySQL 윈도우 함수 LAG & LEAD ▣ 윈도우 함수란? 행과 행 간의 관계를 쉽게 정의하기 위해 만든 함수 - SUM, MAX와 같은 집계함수나 RANK와 같은 순위함수, 분석함수 등이 윈도우 함수로 알려져있음. ▣ LAG & LEAD 함수 - 현재행(Current Row) 기준으로 위쪽(이전) 값들과 아래쪽(이후) 값들을 다뤄야 할 때 사용됨. : 예시 데이터(login_data) - MS SQL Server 사용 --예시 데이터 생성 CREATE TABLE login_data ([id] varchar(3), [login_date] datetime) ; INSERT INTO login_data ([id.. 2022. 12. 12.
[MySQL] 시간 및 날짜 계산하기 안녕하세요. 오늘은 MySQL에서 시간과 날짜 계산하는 방법에 대해 알아보겠습니다. MySQL 시간 및 날짜 계산하기 ▣ 시간 단위 계산하기 (더하기, 빼기) : 시간을 더할 때는 ADDTIME() 활용 ADDTIME(기준 시간, 추가 시간) - ADDTIME 함수로 3시간이 더해짐을 알 수 있음. SELECT NOW(); # 결과창: 2022-12-11T09:35:04Z SELECT ADDTIME(NOW(), '03:00:00') FROM DUAL; # 결과창: 2022-12-11T12:35:04Z : 시간을 뺄 때는 SUBTIME() 활용 SUBTIME(기준 시간, 뺄 시간) - SUBTIME 함수로 3시간이 빠졌음을 알 수 있음. SELECT NOW(); # 결과창: 2022-12-11T09:35:.. 2022. 12. 11.
[MySQL] 월 말일/첫일 구하기 안녕하세요. 오늘은 MySQL에서 월 말일과 첫일을 구하는 방법에 대해서 알아보겠습니다. MySQL 월 말일/첫일 구하기 ▣ LAST_DAY() 함수 MySQL 내장 함수로 마지막 날짜를 리턴해줌. - 이번달과 지난달의 말일과 첫일을 구할 때는 현재 시간을 출력해주는 NOW() 함수와 날짜 계산 시 사용되는 interval을 활용하면 간단하게 구할 수 있음. : NOW() 함수 - MySQL 내장 함수로 현재 시각을 리턴해줌. SELECT NOW() FROM DUAL; 결과창: 2022-12-09T06:40:20Z : MySQL 이번달, 지난달 말일/첫일 구하기 --이번달 말일 SELECT LAST_DAY(NOW()) FROM DUAL; #결과창: 2022-12-31 --지난달 말일 SELECT LAST.. 2022. 12. 10.
[MySQL] Rand 함수로 난수 뽑기 안녕하세요. 오늘은 MySQL에서 무작위로 추출되는 수인 난수를 뽑을 때 사용하는 함수에 대해 알아보겠습니다. MySQL Rand 함수 활용하기 ▣ MySQL Rand Function - 기본적으로 Rand()는 0부터 1 사이에 있는 소수를 출력하는 함수로, 산식이나 다른 함수를 추가하여 사용하면 필요한 범위의 난수를 얻을 수 있음. # 랜덤값 0부터 1 사이 뽑기 SELECT RAND(); 결과: 0.4039940004030040 # 시드를 넣은 랜덤값(시드 넣으면 특정값 고정됨) SELECT RAND(10); 결과: 0.6570515219653505 - 정수 랜덤 값 뽑기 # 1부터 100까지 랜덤 정수 뽑기 SELECT CAST(RAND() * 100 AS SIGNED) + 1; 결과: 4 # 0.. 2022. 12. 7.
728x90