วิธีแยกข้อมูลจากประเภท JSON ใน MySQL

Withi Yaek Khxmul Cak Prapheth Json Ni Mysql



ด้วย MySQL คุณสามารถแยกข้อมูลจากประเภท JSON โดยใช้ตัวเลือกต่างๆ MySQL รองรับการทำงานกับประเภทข้อมูล JSON เมื่อคุณรู้วิธีดำเนินการ คุณจะสามารถเข้าถึงและแยกข้อมูลจากออบเจ็กต์ JSON ได้อย่างรวดเร็ว

โพสต์ของวันนี้จะแนะนำคุณเกี่ยวกับวิธีการดึงข้อมูลจากประเภท JSON ใน MySQL โดยใช้วิธีต่างๆ เราจะกล่าวถึงการทำงานทั่วไปในการแยกข้อมูลจากประเภท JSON ใน MySQL และดูเพิ่มเติมเกี่ยวกับวิธีการทำงานกับประเภทข้อมูล JSON ในตาราง MySQL เพื่อแยกข้อมูลที่แตกต่างกันออกจากคอลัมน์

วิธีแยกข้อมูล JSON ใน MySQL

เมื่อคุณต้องการแยกข้อมูล JSON ใน MySQL ฟังก์ชันหลักที่คุณควรใช้คือ JSON_EXTRACT ซึ่งทำงานกับไวยากรณ์ต่อไปนี้:







JSON_EXTRACT ( json_file, เส้นทาง [ , เส้นทาง ] ... ) ;

คุณต้องระบุสองอาร์กิวเมนต์เมื่อดำเนินการฟังก์ชัน อาร์กิวเมนต์แรกคือเอกสาร JSON อีกเส้นทางหนึ่งคือเส้นทางไปยังค่าในประเภทข้อมูล JSON ที่คุณต้องการแยก เราจะยกตัวอย่างต่างๆ เพื่อช่วยให้เข้าใจวิธีแยกข้อมูลจากประเภท JSON ใน MySQL



ตัวอย่างที่ 1: การแยกค่าหนึ่งค่า

ตัวอย่างแรกคือแบบสอบถามธรรมดาที่ส่งคืนค่าหนึ่งค่าตามเส้นทางที่ระบุในคอลัมน์ที่ระบุในข้อมูล JSON ตัวอย่างต่อไปนี้ระบุเส้นทางที่อยู่หลังตัวดำเนินการจุด และเส้นทางคือชื่อคีย์ในข้อมูล JSON







เอาต์พุตประกอบด้วยชื่อคีย์ที่ระบุซึ่งคุณตั้งเป้าที่จะบรรลุผล และพิมพ์ออกมาเป็นเครื่องหมายคำพูด หากต้องการลบเครื่องหมายคำพูด คุณสามารถใช้ JSON_VALUE() แทน JSON_EXTRACT() ได้ดังตัวอย่างต่อไปนี้:



ตัวอย่างที่ 2: การแยกค่าหลายค่า

เมื่อแยกหลายเส้นทางในข้อมูล JSON คุณต้องระบุเส้นทางเป้าหมายหลังตัวดำเนินการจุด และคั่นด้วยเครื่องหมายจุลภาค มาดูตัวอย่างที่เราต้องการแยกค่าสองค่าในข้อมูล JSON เดียวกันกับที่เราใช้ในตัวอย่างก่อนหน้านี้ เพื่อสิ่งนั้น เรามีตัวอย่างของเราดังแสดงต่อไปนี้:

ตัวอย่างที่ 3: แยกข้อมูล JSON จากอาร์เรย์

เมื่อคุณมีข้อมูล JSON ในอาร์เรย์ คุณสามารถแยกข้อมูลออกได้โดยการระบุตำแหน่งของค่าที่ต้องการ

นี่คือตัวอย่างที่เรามีอาร์เรย์ของตัวเลขและแยกค่าที่ตำแหน่ง 3 โดยใช้เครื่องหมาย “$”:

ตัวอย่างที่ 4: การแยกข้อมูล JSON ออกจากตาราง

สมมติว่าคุณมีตารางที่มีคอลัมน์ที่มี JSON นอกจากนี้ยังสามารถดึงข้อมูลออกมาได้อีกด้วย เรามาสร้างตารางตัวอย่างที่เราจะใช้สาธิตกัน เราตั้งชื่อตารางของเราว่า “หลักสูตร” ซึ่งมีสามคอลัมน์

นอกจากนี้เรายังสามารถแทรกข้อมูลลงในตารางของเราได้

ตารางสุดท้ายของเราซึ่งมีข้อมูล JSON ปรากฏดังนี้:

สมมติว่าเราต้องการแยกข้อมูล JSON ในคอลัมน์ 'course_details' ในตารางซึ่งมีโค้ดเท่ากับ F12 เราดำเนินการคำสั่งต่อไปนี้ โปรดทราบว่าใน JSON_EXTRACT() เราระบุอาร์กิวเมนต์แรกเป็นคอลัมน์ที่มีข้อมูล JSON และอาร์กิวเมนต์ที่สองคือค่าเฉพาะในข้อมูล JSON

เมื่อระบุชื่อคีย์ คุณต้องขึ้นต้นด้วย “$” และตัวดำเนินการจุด ในกรณีของเรา ชื่อคีย์คือ “โค้ด” และเราต้องการค้นหาค่าที่โค้ดตรงกับข้อมูลที่กำหนด

ผลลัพธ์ก่อนหน้านี้ตรงกับผลลัพธ์ที่เราคาดหวัง ซึ่งยืนยันว่าเราสามารถดึงข้อมูล JSON ได้

คุณยังสามารถระบุคอลัมน์เฉพาะในตารางที่คุณต้องการดึงข้อมูลได้อีกด้วย จากนั้น คุณสามารถใช้ตัวดำเนินการ “->” สำหรับข้อมูล JSON ได้ นอกจากนี้ยังย่อมาจาก JSON_EXTRACT() และคุณระบุค่าเป้าหมายโดยใช้ตัวดำเนินการ “$” และจุด

ตัวอย่างต่อไปนี้เลือกสองคอลัมน์และแยกชื่อคีย์ 'ชื่อ' ออกจากข้อมูล JSON สำหรับรายการทั้งหมด:

คุณสามารถกำจัดเครื่องหมายคำพูดในข้อมูลที่แยกออกมาได้โดยการแทนที่ตัวดำเนินการ “->” ด้วยตัวดำเนินการ “->>” จากนั้นระบุชื่อคีย์เป้าหมายตามตัวอย่างต่อไปนี้:

บทสรุป

โพสต์นี้อธิบายวิธีการดึงข้อมูลจากประเภท JSON ใน MySQL เราได้ยกตัวอย่างการใช้งานฟังก์ชัน 'แยก' ที่แตกต่างกันและตัวเลือกต่างๆ ที่คุณสามารถใช้ได้ หวังว่านั่นจะช่วยแก้ไขคำถามของคุณและช่วยให้คุณเข้าใจวิธีทำงานกับข้อมูล JSON ใน MySQL