A mai bejegyzés bemutatja, hogyan nyerhet ki adatokat JSON-típusból a MySQL-ben különböző módokon. Bemutatjuk az adatok JSON-típusból való kinyerésének általános működését a MySQL-ben, és meglátjuk, hogyan dolgozhatunk JSON-adattípusokkal egy MySQL-táblázatban a különböző adatok oszlopokból történő kinyeréséhez.
Hogyan lehet kivonni a JSON-adatokat a MySQL-ben
Ha ki szeretné bontani a JSON-adatokat a MySQL-ben, a fő funkció, amelyet használnia kell, a JSON_EXTRACT, amely a következő szintaxissal működik:
JSON_EXTRACT ( json_file, elérési út [ , pálya ] ... ) ;
A függvény végrehajtásakor két argumentumot kell megadni. Az első argumentum a JSON-dokumentum. A másik a kivonni kívánt JSON-adattípusban található érték elérési útja. Nézzünk meg különféle példákat, amelyek segítenek megérteni, hogyan lehet kivonni az adatokat JSON-típusból a MySQL-ben.
1. példa: Egy érték kinyerése
Az első példa egy egyszerű lekérdezés, amely egy értéket ad vissza a JSON-adatok megadott oszlopában megadott elérési út alapján. A következő példa a pont operátor után adja meg az elérési utat, és az elérési út egy kulcsnév a JSON-adatokban.
A kimenet tartalmazza a megadott kulcsnevet, amelyet elérni kíván, és idézőjelben van kinyomtatva. Az idézőjelek eltávolításához használhatja a JSON_VALUE()-t a JSON_EXTRACT() helyett, a következő példában látható módon:
2. példa: Több érték kinyerése
Ha több útvonalat bont ki a JSON-adatokból, meg kell adnia a célútvonalakat egy pontoperátor után, és vesszővel kell elválasztania őket. Vegyünk egy példát, ahol két értéket szeretnénk kivonni ugyanabban a JSON-adatban, amelyet az előző példában használtunk. Ehhez a következő példánk van:
3. példa: JSON-adatok kinyerése egy tömbből
Ha a JSON-adatok egy tömbben vannak, kibonthatja azokat az adott érték helyének megadásával.
Íme egy példa, ahol van egy számtömbünk, és a 3. pozícióban lévő értéket a „$” jel segítségével kinyerjük:
4. példa: JSON-adatok kinyerése egy táblázatból
Tegyük fel, hogy van egy táblázata, amely JSON-t tartalmazó oszlopot tartalmaz. Lehetőség van az adatok kinyerésére is. Készítsünk egy mintatáblázatot, amelyet a demonstrációhoz használunk. Táblázatunkat „pálya”-nak nevezzük, amely három oszlopból áll.
Az adatokat a táblázatunkba is beilleszthetjük.
A JSON-adatokat tartalmazó végső táblázatunk a következőképpen jelenik meg:
Tegyük fel, hogy ki akarjuk bontani a JSON-adatokat a táblázat „course_details” oszlopában, ahol a kód egyenlő az F12-vel. A következő parancsot hajtjuk végre. Vegye figyelembe, hogy a JSON_EXTRACT() az első argumentumot a JSON-adatokat tartalmazó oszlopként adjuk meg, a második argumentum pedig a JSON-adatok adott értéke.
A kulcsnév megadásakor a „$” karakterrel és a pont operátorral kell kezdenie. Esetünkben a kulcs neve a „Kód”, és meg akarjuk találni azokat az értékeket, ahol a kód egyezik egy adott adattal.
Az előző kimenet megfelelt a várt eredménynek, ami megerősíti, hogy sikerült kivonatolnunk a JSON-adatokat.
Megadhatja a táblázat egyes oszlopait is, amelyeket le szeretne kérni. Ezután használhatja a „->” operátort a JSON-adatokhoz. Ez a JSON_EXTRACT() rövidítése is, és a célértéket a „$” és a pont operátorokkal azonosíthatja.
A következő példa két oszlopot választ ki, és az összes bejegyzés JSON-adataiból kivonja a „Name” kulcsnevet:
A kivont adatokból az idézőjeleket úgy távolíthatja el, hogy a „->” operátort „->>” operátorra cseréli, majd megadja a célkulcs nevét a következő példa szerint:
Következtetés
Ez a bejegyzés elmagyarázta, hogyan lehet kivonni az adatokat a JSON-típusból a MySQL-ben. Különböző példákat adtunk a „kivonás” funkció megvalósítására és a különféle lehetőségekre, amelyeket használhat. Remélhetőleg ez javította a lekérdezést, és segített megérteni, hogyan kell dolgozni a JSON-adatokkal a MySQL-ben.