Hvordan trekke ut data fra JSON Type i MySQL

Hvordan Trekke Ut Data Fra Json Type I Mysql



Med MySQL kan du trekke ut dataene fra JSON-typen ved å bruke forskjellige alternativer. MySQL støtter arbeid med JSON-datatyper. Når du vet hvordan du skal gjøre det, kan du raskt få tilgang til og trekke ut dataene fra JSON-objektene.

Dagens innlegg guider deg om hvordan du trekker ut dataene fra JSON-typen i MySQL på forskjellige måter. Vi vil dekke det generelle arbeidet med å trekke ut dataene fra JSON-typen i MySQL og videre se hvordan du arbeider med JSON-datatyper i en MySQL-tabell for å trekke ut de forskjellige dataene fra kolonner.

Hvordan trekke ut JSON-data i MySQL

Når du vil trekke ut JSON-dataene i MySQL, er hovedfunksjonen du bør bruke JSON_EXTRACT som fungerer med følgende syntaks:







JSON_EXTRACT ( json_fil, bane [ , sti ] ... ) ;

Du må spesifisere to argumenter når du utfører funksjonen. Det første argumentet er JSON-dokumentet. Den andre er banen til verdien i JSON-datatypen du vil trekke ut. La oss gi ulike eksempler for å forstå hvordan du trekker ut dataene fra JSON-typen i MySQL.



Eksempel 1: Trekke ut én verdi

Det første eksemplet er en enkel spørring som returnerer én verdi basert på den angitte banen i den angitte kolonnen i JSON-dataene. Følgende eksempel spesifiserer banen etter punktoperatøren, og banen er et nøkkelnavn i JSON-dataene.







Utdataene inneholder det angitte nøkkelnavnet du ønsker å oppnå og skrives ut i anførselstegn. For å fjerne anførselstegnene kan du bruke JSON_VALUE() i stedet for JSON_EXTRACT() som i følgende eksempel:



Eksempel 2: Trekke ut flere verdier

Når du trekker ut flere baner i JSON-dataene, må du spesifisere målbanene etter en punktoperator og skille dem med komma. La oss ha et eksempel der vi ønsker å trekke ut to verdier i de samme JSON-dataene som vi brukte i forrige eksempel. For det har vi vårt eksempel som vist i følgende:

Eksempel 3: Trekke ut JSON-data fra en matrise

Når du har JSON-dataene dine i en matrise, kan du trekke dem ut ved å spesifisere plasseringen til den bestemte verdien.

Her er et eksempel der vi har en rekke tall og trekker ut verdien ved posisjon 3 ved å bruke '$'-tegnet:

Eksempel 4: Trekke ut JSON-data fra en tabell

Anta at du har en tabell som inneholder en kolonne som har JSON. Det er også mulig å trekke ut dataene fra den. La oss lage en prøvetabell som vi skal bruke til demonstrasjon. Vi kaller tabellen vår som 'kurs' som har tre kolonner.

Vi kan også sette inn dataene i tabellen vår.

Den endelige tabellen vår som inneholder JSON-dataene ser ut som følger:

Anta at vi ønsker å trekke ut JSON-dataene i 'course_details'-kolonnen i tabellen der koden er lik F12. Vi utfører følgende kommando. Merk at i JSON_EXTRACT() spesifiserer vi det første argumentet som kolonnen som inneholder JSON-dataene, og det andre argumentet er den spesielle verdien i JSON-dataene.

Når du spesifiserer nøkkelnavnet, må du begynne med '$' og punktoperatoren. I vårt tilfelle er nøkkelnavnet 'koden', og vi ønsker å finne verdiene der koden samsvarer med en gitt data.

Den forrige utgangen samsvarte med vårt forventede resultat, noe som bekrefter at vi klarte å trekke ut JSON-dataene.

Du kan også spesifisere de spesielle kolonnene i tabellen som du vil hente. Deretter kan du bruke '->'-operatoren for JSON-dataene. Det står også for JSON_EXTRACT() og du identifiserer målverdien ved å bruke '$' og punktoperatorene.

Følgende eksempel velger to kolonner og trekker ut nøkkelnavnet 'Navn' fra JSON-dataene for alle oppføringer:

Du kan eliminere anførselstegnene i de utpakkede dataene ved å erstatte '->'-operatoren med '->>'-operatoren og deretter angi målnøkkelnavnet som i følgende eksempel:

Konklusjon

Dette innlegget forklarte hvordan du trekker ut dataene fra JSON-typen i MySQL. Vi har gitt forskjellige eksempler på implementering av 'ekstrakt'-funksjonen og de forskjellige alternativene du kan bruke. Forhåpentligvis løste det spørsmålet ditt og hjalp deg med å forstå hvordan du arbeider med JSON-dataene i MySQL.