Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

내블로그

Dynamic Columns(JSON) 본문

DataBase/MySQL&MariaDB

Dynamic Columns(JSON)

잡동사니보관 2016. 11. 18. 14:24

1. 테이블 생성

CREATE TABLE `json` (

`json` BLOB NULL

)

COLLATE='utf8_general_ci'

ENGINE=InoDB;

2. 데이터 삽입(COLUMN_CREATE)

INSERT INTO json VALUES (COLUMN_CREATE('age', 22, 'name', 'kim'));

INSERT INTO json VALUES (COLUMN_CREATE('age', 11, 'name', 'heo'));

INSERT INTO json VALUES (COLUMN_CREATE('color', 'blue', 'size', 'XL'));

INSERT INTO json VALUES  (COLUMN_CREATE('color', 'black', 'price', 500));

3. 데이터 가져오기(COLUMN_JSON, COLUMN_LIST, COLUMN_GET)

SELECT COLUMN_JSON(json), COLUMN_LIST(json), COLUMN_GET(json, 'color' AS char) AS color

FROM json 

--------------------------------------------------------------------------------------------------------------

(결과)

COLUMN_JSON(json)

 COLUMN_LIST(json)

color

{"size":"XL","color":"blue"}

`size`,`color` 

"blue" 

{"color":"black","price":500} 

`color`,`price`

"black" 

{"age":22,"name":"kim"} 

`age`,`name` 

NULL 

{"age":11,"name":"heo"} 

`age`,`name`

NULL 

4. COLUMN_EXISTS, COLUMN_CHECK

SELECT COLUMN_EXISTS(json, 'color'), COLUMN_CHECK(json) FROM json;

--------------------------------------------------------------------------------------------------------------

(결과)

 COLUMN_EXISTS(json, 'color')

 COLUMN_CHECK(json)

 0

 0

 1

 1

1


5. COLUMN_DELETE

UPDATE json SET json = COLUMN_DELETE(json, 'age', 'name');

SELECT COLUMN_JSON(json) FROM json;

-------------------------------------------------------------------------------------------------------------

(결과)

COLUMN_JSON(json)

{"size":"XL","color":"blue"}

{"color":"black","price":500}

{}

{}



'DataBase > MySQL&MariaDB' 카테고리의 다른 글

테이블 크기 확인  (0) 2017.04.12
테이블 파티셔닝  (0) 2016.11.28
CentOS 6 + MariaDB 10 설치  (0) 2016.10.18
CentOS 6.6 + mysql 5.5  (0) 2015.03.30
계정생성  (0) 2014.07.24