Mariadb JSON_DATA 형식 사용방법
#등록방법
*Table column 필수항목을 마춰줘야합니다.
BULD_PK 건물PK
CAMPUS_PK 시설물명
FOLDER_PK 시설물
UPPER_FLT_PK 건물면적
FLT_NM 대지면적
FLT_TYPE_CD 건물높이
DEL_YN 비고
COMPANY_PK 삭제여부
REG_ID 도로명주소(전체)
REG_DT 도로명주소
UPD_ID 행정구역코드
UPD_DT 도로명코드
insert into TABLE명 VALUES (
BULD_PK,
CAMPUS_PK,
FOLDER_PK,
UPPER_FLT_PK,
FLT_NM,
FLT_TYPE_CD,
DEL_YN,
COMPANY_PK,
REG_ID,
REG_DT,
UPD_ID,
PD_DT,
json_object (사용하고싶은 항목들 '이름' , '이현우' '나이' , '28' )) ; // json object ( ' , ' , ' ') 다운표형식을 마춰줘야합니다.
#실제 등록 JSON _ SQL문 (Mariadb 10.3버전사용 )
* 건물 등록
insert into flt_buld VALUES (2, '도림빌딩', 'a', 10, 11, 12, '테스트', 'N', '경기도', '부천시', '소사구', '괴안동',
json_object('Name' , 'leeHyunWoo' , 'Sex' , 'M' , 'Phone' , '555-5555', 'Age' , '28')) ;
#실제 등록 JSON _ SQL문 (Mariadb 10.3버전사용 )
* 층 json type 등록 하기. 층
insert into flt_floor
(
BULD_PK,
FOOLR_SE,
RM,
DEL_YN,
FLOOR_NM,
JSON_DATA
)
VALUES (
2 ,
'0',
'0',
'N',
'2층',
json_object('Name' , 'FLOOR' , 'Sex' , 'M' , 'Phone' , '555-5555', 'Age' , '28')) ;
#실제 등록 JSON _ SQL문 (Mariadb 10.3버전사용 )
* 호실 json type 등록 하기.
insert into flt_hosil
(
FLOOR_PK,
HOSIL_SE_CD,
HOSIL_PRVUSE_AR,
HOSIL_CMNUSE_AR,
DEL_YN,
HOSIL_NA,
RM,
JSON_DATA
)
VALUES (
95,
'0',
10,
10,
'Y',
'3호실',
'TEST',
json_object('Name' , 'HOSIL' , 'Sex' , 'M' , 'Phone' , '555-5555', 'Age' , '30')) ;
)
#특정 key 값만 조회 하고자 할때 json_value 함수를 사용
select BULD_PK , json_value(JSON_DATA,'$.Name')
AS Phone from flt_buld ;
#건물 층 , 호실 json type 조회
SELECT
A.BULD_PK ,
json_value(A.JSON_DATA,'$.Name') AS 'BULD_JSON',
B.FLOOR_PK,
json_value(B.JSON_DATA,'$.Name') AS 'FLOOR_JSON',
C.HOSIL_PK,
json_value(C.JSON_DATA,'$.Name') AS 'HOSIL_JSON'
from flt_buld A LEFT OUTER JOIN flt_floor B ON A.BULD_PK = B.BULD_PK LEFT OUTER JOIN flt_hosil C
ON B.FLOOR_PK = C.FLOOR_PK;