DB(Database)/Basic Concept

JSON ๋ฐ์ดํ„ฐ๋ž€? + MySQL ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ €์žฅ ํ˜•์‹

ํƒฑ์ ค 2021. 2. 6. 17:04

JSON ํ˜•์‹์ด๋ž€?

  • JSON (JavaScript Object Notation)
    • ์›น ํ™˜๊ฒฝ์ด๋‚˜ ๋ชจ๋ฐ”์ผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋“ฑ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ํฌ๋งท
    • ์†์„ฑ(KEY)๊ณผ ๊ฐ’(VALUE) ์Œ์œผ๋กœ ๊ตฌ์„ฑ
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์—์„œ ํŒŒ์ƒ๋˜์—ˆ์ง€๋งŒ ํŠน์ • ์–ธ์–ด์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ์ ์ธ ๋ฐ์ดํ„ฐ ํฌ๋งท
    • ํฌ๋งท์ด ๋‹จ์ˆœ, ๊ณต๊ฐœ๋˜์–ด ์žˆ์–ด ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์‰ฝ๊ฒŒ ์ฝ๊ฑฐ๋‚˜ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅ

โ€ป ์ตœ๊ทผ ๊ธฐ์กด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ NoSQL๋กœ์˜ ๋ณ€ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋•Œ JSON ํ˜•ํƒœ๋Š” ๋งค์šฐ ์ค‘์š”

โ€ป But, ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์•Œ์•„์•ผ NoSQL ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ™์ง€ ํ•„์ˆ˜


  • JSON_OBJECT()
    • ์ฟผ๋ฆฌ๋ฌธ ๊ฒฐ๊ณผ๋ฅผ JSON ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜
  • @json ๋ณ€์ˆ˜์— JSON ๋ฐ์ดํ„ฐ ๋Œ€์ž…ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • JSON_VALUE()
    • ๋Œ€์ž…๋œ ๋ฌธ์ž์—ด์ด JSON ํ˜•ํƒœ์ธ์ง€ ํ™•์ธ → ๋งž์œผ๋ฉด 1, ํ‹€๋ฆฌ๋ฉด 0 ๋ฆฌํ„ด
  • JSON_SEARCH()
    • ์ธ๋ฑ์Šค ๋ฆฌํ„ด, JSON์€ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋˜์–ด ์žˆ์–ด ์ธ๋ฑ์Šค 0๋ถ€ํ„ฐ ์‹œ์ž‘
    • JSON_SEARCH(@json, 'one', '์ฐพ์„ ๋ฌธ์ž์—ด') ์—์„œ ์ธ์ž๊ฐ’ ์ค‘ 'one'์ด ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์€ ๊ทธ๋ƒฅ ๋ฌธ๋ฒ•์ด๋ผ 'all'๋กœ ํ•ด๋„ ์ƒ๊ด€ X
  • JSON_EXTRACT()
    • ํ•ด๋‹น ์ธ๋ฑ์Šค ๊ฐ’ ์ถ”์ถœ
  • JSON_INSERT()
    • ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๊ฐ’์— ์‚ฝ์ž…ํ•˜๋Š” ํ•จ์ˆ˜
  • JSON_REPLACE()
    • ํ•ด๋‹น ์ธ๋ฑ์Šค ๊ฐ’์„ ์น˜ํ™˜ํ•˜๋ผ๋Š” ํ•จ์ˆ˜
  • JSON_REMOVE()
    • ํ•ด๋‹น ์ธ๋ฑ์Šค ๊ฐ’์„ ์‚ญ์ œํ•˜๋ผ๋Š” ํ•จ์ˆ˜

LONGTEXT, LONGBLOB

  • MySQL์˜ ๊ฒฝ์šฐ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ(Large OBject, LOB) ์ €์žฅ ์œ„ํ•ด LONGTEXT, LNGBLOB ๋ฐ์ดํ„ฐ ํ˜•์‹ ์ง€์›
728x90