MySQL hat einen JSON-Typ. MySQL hat seit Version 5.7 den JSON-Datentyp eingeführt, der JSON-Daten direkt verarbeiten kann. Unter MySQL Version 5.7 ist das Speichern von Daten im JSON-Format in der Tabelle jedoch auf Datentypen wie Varchar oder Text angewiesen.
Der JSON-Typ in MySQL
json ist ein sehr einfach zu verwendender Datentyp, um JSON zu speichern, aber es gibt ein Problem darin, dass er JSON nicht mehr bedienen kann 5.7 können Sie JSON-Daten direkt bedienen.
{ "bill": [ { "bill": [ { "id": "C81AEAD03F90000142E81B405F6FADC0", "uuid": "cfd872541b3b4507a50c2b2eda6bef28", "billid": "kjdzyljgmzsfzypj", "pageno": [], "billver": "V1", "billname": "新增测试", "fjNumber": "", "trueName": "", "allPageno": [ { "top": 13, "left": 7 } ], "billValue": {}, "isOtherZL": "", "billNumber": "", "fjTMNumber": "" }, { "id": "C81AED69D6400001A07818551D9EBEC0", "uuid": "05d87c8052cd44209c684407d200b7ec", "billid": "opztsfpsgd", "pageno": [], "billver": "V1", "billname": "发票申购", "fjNumber": "", "trueName": "", "allPageno": [ { "top": 13, "left": 7 } ], "isOtherZL": "", "billNumber": "", "fjTMNumber": "" } ], "index": "", "dependBjBill": { "formula": "", "keyView": "" }, "codeCondition": { "formula": "", "keyView": "" }, "billRuleCondition": { "formula": "", "keyView": "" } }, { "bill": [ { "id": "C81AED84903000019B29EAB0196014CE", "uuid": "0d93fe614d09489cbad8fa5a3d160289", "billid": "kjdzcwgwht", "pageno": [], "billver": "V1", "billname": "财务顾", "fjNumber": "", "trueName": "", "allPageno": [ { "top": 39, "left": 7 } ], "isOtherZL": "", "billNumber": "", "fjTMNumber": "" } ], "index": "", "dependBjBill": { "formula": "", "keyView": "" }, "codeCondition": { "formula": "", "keyView": "" }, "billRuleCondition": { "formula": "", "keyView": "" } } ], "questions": [], "relyonCondition": {} }
; Persönlich verwende ich lieber eine Methode wie Lambda. Schließlich ist dies eine stilvolle und schöne Operation:
SELECT content_json->'$.bill[*].bill[*].uuid' from b WHERE JSON_CONTAINS(content_json->'$.bill[*].bill[*].uuid' ,'["cfd872541b3b4507a50c2b2eda6bef28"]')
content_json->'$.bill[]. bill [
].uuid';
stellt das Feld content_json dar „$“ ist ein erforderlicher Symbolpunkt zur Darstellung des Objekts * steht für alle
Dann besteht die Bedeutung des Codes darin, alle Rechnungen abzufragen (das zweite) im Feld „content_json“ wird uuid als Array zurückgegeben;
Die Bedingung, gefolgt von where, bedeutet, dass ein bestimmter Wert vorhanden ist.
Das Feld muss der angegebene sein Zu prüfender Wert Zum Beispiel: content_json->'$.bill[
].bill[].uuid' ; Der Parameter muss eine Zeichenfolge vom Typ JSON sein, was nicht akzeptabel ist.
Empfohlenes Tutorial: MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonHat MySQL einen JSON-Typ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!