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