JSON 데이터와 대용량 데이터 저장

     

    웹 환경이나 모바일 응용 프로그램 등에서 데이터를 교환하기 위해 만든 개방형 표준 포멧

    JSON으로 작성한 데이터는 속성(Key)과 값(Value)의 쌍으로 구성

    JSON은 자바스크립트 언어에서 파생되었지만 특정한 프로그래밍 언어에 종속되지 않은 독립적인 데이터 포멧

     

     

    query-12(JSON데이터 포맷).sql

    -- json (javascript object notation) 데이터
    -- 타 언어들에 종속되지 않고 서로 교환을 할수 있는 데이터 포맷형태
    
    use sqldb;
    
    select *
    from user;
    
    -- user에서 100이상 되는 데이터를 키와 값의 형태의 JSON데이터 포멧형태로 변환하고 있다.
    select json_object('username', username, 'height', height) as 'JSON값'
    from user;
    
    select json_object('username', username, 'height', height) as 'JSON값'
    from user
    where height >= 180;
    
    -- json이라는 이름의 변수에다가 json포맷형태로 문자열을 저장
    set @json = '{ "user" : 
    		[
    			{"username" : "이순신", "height" : 182},
    			{"username" : "이도", "height" : 184},
    			{"username" : "이제", "height" : 186}
    		]		
    }';
    
    select @json;
    
    -- json변수에 대입된 문자열이 json형태인지 확인한다.(맞으면 1, 틀리면 0)
    select json_valid(@json); -- 1
    
    -- json_search() : '이도'가 몇번째 인덱스에 있느냐를 리턴해주는 함수.
    -- json데이터는 배열개념으로 되어있기 때문에 0부터 시작해서 1을 리턴함.
    -- 인자값 중 'one'은 문법으로 넣어준것이다.
    select json_search(@json, 'one', '이도'); -- "$.user[1].username"
    
    -- json_extract() : 주어진 인덱스의 실제 값을 추출하는 함수
    select json_extract(@json, '$.user[1].username');
    select json_extract(@json, '$.user[1].height');
    
    -- json_insert () : 0번째 인덱스에다가 mdate를 입력하는 함수.
    select json_insert(@json, '$.user[0].mdate', '2021-01-04');
    
    -- json_replace() : 1번째 인덱스에 username을 이방원으로 바꿔주는 함수.
    select json_replace(@json, '$.user[1].username', '이방원');
    
    -- json_remove() : 0번째 인덱스를 삭제.
    select json_remove(@json, '$.user[0]');
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading