Verwenden Sie JSON in MySQL
Apr 08, 2025 pm 02:39 PM在現(xiàn)代應(yīng)用開發(fā)中,有效管理半結(jié)構(gòu)化數(shù)據(jù)至關(guān)重要。MySQL 5.7 版本及以上版本內(nèi)置了對 JSON 數(shù)據(jù)類型的支持,為關(guān)系型數(shù)據(jù)庫中存儲、查詢和操作這類數(shù)據(jù)提供了強有力的工具。本文將介紹 MySQL 提供的核心 JSON 函數(shù),并結(jié)合實際案例進(jìn)行講解,幫助您快速上手。
為什么選擇 MySQL 的 JSON 功能?
在關(guān)系型數(shù)據(jù)庫中使用 JSON 數(shù)據(jù)類型,可以簡化半結(jié)構(gòu)化或?qū)蛹墧?shù)據(jù)的處理流程,帶來諸多優(yōu)勢:
- 靈活性: JSON 結(jié)構(gòu)支持動態(tài)、層級數(shù)據(jù)的靈活存儲。
- 內(nèi)置函數(shù): MySQL 提供高效的 JSON 數(shù)據(jù)查詢、更新和驗證函數(shù)。
- 集成性: 可以將關(guān)系型數(shù)據(jù)與 JSON 對象結(jié)合,實現(xiàn)混合數(shù)據(jù)模型。
-
創(chuàng)建 JSON 數(shù)據(jù)
利用 JSON_OBJECT()
和 JSON_ARRAY()
函數(shù),可以方便地構(gòu)建 JSON 對象或數(shù)組。
示例:
SELECT JSON_OBJECT('id', 1, 'name', 'Alice', 'roles', JSON_ARRAY('admin', 'editor')) AS json_data;
輸出:
{"id": 1, "name": "Alice", "roles": ["admin", "editor"]}
-
存儲 JSON 數(shù)據(jù)
使用 JSON 數(shù)據(jù)類型定義數(shù)據(jù)庫列,即可存儲 JSON 數(shù)據(jù)。
示例:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, details JSON NOT NULL ); INSERT INTO users (details) VALUES ('{"name": "Bob", "age": 30, "roles": ["viewer", "editor"]}');
-
從 JSON 數(shù)據(jù)中提取數(shù)據(jù)
MySQL 提供多種函數(shù)用于從 JSON 文檔中提取數(shù)據(jù):
JSON_EXTRACT()
:使用 JSONPath 表達(dá)式獲取指定值。->
運算符:JSON_EXTRACT()
的簡寫形式。
示例:
SELECT JSON_EXTRACT(details, '$.name') AS name, details->'$.age' AS age FROM users;
輸出:
-
修改 JSON 數(shù)據(jù)
以下函數(shù)用于更新或添加 JSON 數(shù)據(jù)元素:
JSON_SET()
:插入或更新鍵值對。JSON_INSERT()
:僅當(dāng)鍵不存在時插入。JSON_REPLACE()
:僅更新已存在的鍵值對。
示例:
UPDATE users SET details = JSON_SET(details, '$.city', 'New York') WHERE id = 1; SELECT details FROM users;
輸出:
{"name": "Bob", "age": 30, "roles": ["viewer", "editor"], "city": "New York"}
-
刪除鍵值對
使用 JSON_REMOVE()
函數(shù)刪除 JSON 文檔中的元素。
示例:
UPDATE users SET details = JSON_REMOVE(details, '$.roles') WHERE id = 1; SELECT details FROM users;
輸出:
{"name": "Bob", "age": 30, "city": "New York"}
-
在 JSON 數(shù)據(jù)中搜索
JSON_CONTAINS()
函數(shù)用于檢查 JSON 文檔是否包含特定值。
示例:
SELECT JSON_CONTAINS(details, '"New York"', '$.city') AS has_city FROM users;
輸出:
-
JSON 數(shù)據(jù)聚合
JSON_ARRAYAGG()
和 JSON_OBJECTAGG()
函數(shù)可以將查詢結(jié)果聚合為 JSON 結(jié)構(gòu)。
示例:
SELECT JSON_ARRAYAGG(name) AS names FROM ( SELECT JSON_EXTRACT(details, '$.name') AS name FROM users ) AS subquery;
輸出:
["Bob"]
-
驗證 JSON 數(shù)據(jù)
JSON_VALID()
函數(shù)用于檢查字符串是否為有效的 JSON 數(shù)據(jù)。
示例:
SELECT JSON_VALID('{"key": "value"}') AS is_valid, JSON_VALID('invalid json') AS is_invalid;
輸出:
-
格式化 JSON 輸出
JSON_PRETTY()
函數(shù)將 JSON 數(shù)據(jù)格式化為易于閱讀的格式。
示例:
SELECT JSON_PRETTY(details) AS pretty_json FROM users;
輸出:
{ "name": "Bob", "age": 30, "city": "New York" }
其他 JSON 函數(shù)
MySQL 提供了豐富的 JSON 函數(shù),本文僅介紹了部分常用函數(shù)。其他函數(shù)包括:JSON_ARRAY_APPEND()
、JSON_ARRAY_INSERT()
、JSON_CONTAINS_PATH()
、JSON_DEPTH()
、JSON_KEYS()
、JSON_LENGTH()
、JSON_MERGE_PATCH()
、JSON_MERGE_PRESERVE()
、JSON_OVERLAPS()
、JSON_QUOTE()
、JSON_SEARCH()
、JSON_STORAGE_FREE()
、JSON_STORAGE_SIZE()
、JSON_TABLE()
、JSON_TYPE()
、JSON_UNQUOTE()
等。
MySQL 的 JSON 函數(shù)為關(guān)系型數(shù)據(jù)庫中半結(jié)構(gòu)化數(shù)據(jù)的管理提供了強大的支持,簡化了 JSON 數(shù)據(jù)的存儲、查詢和操作,為數(shù)據(jù)庫設(shè)計提供了新的思路。 熟練掌握這些函數(shù),將極大地提高開發(fā)效率。
Das obige ist der detaillierte Inhalt vonVerwenden Sie JSON in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

OKX ist eine weltbekannte umfassende Plattform für digitale Asset-Service-Plattform, die den Benutzern diversifizierte Produkte und Dienstleistungen wie Spot, Vertr?ge, Optionen usw. bietet. Mit seiner reibungslosen Betriebserfahrung und leistungsstarken Funktionsintegration ist seine offizielle App für viele Benutzer von Digital Asset geworden.

CheckCompatibilit?t mit Anwendungen und Featuren; 2.Backupalldata, Konfigurationen und Llogs; 3.ChooseUpgrademethod (Packagemanager, Mysqlinstaller, ormanual); 4.Runpost-upgradechecksandTests;

Verst?ndnis der THETYPESOFSUBQUERIES: Scalar, Row, S?ule und TabelsuBQuerieseServespecificpurposeSandArEUTIFFERFERENTCLAUSS.2.USSUBQUELLIENWALLEN WENFILTERINGBASEDONAGGREDRETRATEDRESULTS, ERBETUNG VON VERBESSERUNGEN, ORCOMPUTINGEVILIENTEVALES, BISPREFERFERFORFORFORFORBELTEBELN

FirstCheckifSslisenabled ByrunningShowvariables Like '%SSL%'; everhave_Slisyesandsl_ca, SSL_Cert, SSL_keyPointToVovalidFiles, dann usestatustoconfirmSslisinuse.2.Generatesslcertificateseither UseSusedMysqlsBuilt-pe-nauto-Generationsting (Enablesslinmy.cnfan

MySQL Performance und Wartbarkeit stehen vor Herausforderungen mit gro?en Tabellen, und es ist notwendig, von der Strukturdesign, der Indexoptimierung, der Tabellen-Untertisch-Strategie usw. zu beginnen. 1. Ausgestaltet Prim?rschlüssel und -indizes: Es wird empfohlen, Selbstverlustzahlen als Prim?rschlüssel zu verwenden, um Seitenspaltungen zu reduzieren. Verwenden Sie Overlay -Indizes, um die Effizienz der Abfrage zu verbessern. Analysieren Sie regelm??ig langsame Abfrageprotokolle und l?schen Sie ungültige Indizes. 2. Rationaler Nutzung von Partitionstabellen: Partition nach Zeitbereich und anderen Strategien zur Verbesserung der Abfrage- und Wartungseffizienz, aber der Aufteilung und dem Abschneiden von Problemen sollte die Aufmerksamkeit geschenkt werden. 3.. überlegen Sie, wie Sie Lesen und Schreiben von Trennung und Bibliothekstrennung erw?gen: Lesen und Schreiben von Trennung lindern den Druck auf die Hauptbibliothek. Die Bibliothekstrennung und die Tabellentrennung eignen sich für Szenarien mit einer gro?en Datenmenge. Es wird empfohlen, Middleware zu verwenden und Transaktions- und Cross-Store-Abfrageprobleme zu bewerten. Frühe Planung und kontinuierliche Optimierung sind der Schlüssel.

Inhaltsverzeichnis über Binance Alle umfassenden Index über Binance Alle umfassenden Mechanismus für festgelegte Festpoint-Anpassungskomponenten Der neu gestartete U-Standard-Perpetual-Vertrag mit USDT-zitierten U-Standard-Perpetual-Vertrag Der Binance-Vertrag soll den offiziellen Start des All75-Mal-umfassenden Index-U-Standard-Vertrags am 6. August 2025 (East Eight Eighth District Time). über Binance alle umfassenden Index Binance Exchange: Offizieller Registrierung Offizieller Download Binance Alle umfassende Index ist so konzipiert, dass alle U-standardischen Perpetualvertr?ge auf USDT auf der Binance-Vertragsplattform nachgewiesen wurden, aber die folgenden Arten von Vertr?gen sind nicht enthalten: EthBTC Perpetual Contracts, die mit USDC oder anderen Stabelkosten u-Stange-Ableitungsvertr?gen zitiert werden.

Verzeichnis Was ist Cardano? Wichtige Funktionen von Cardano Wie funktioniert Cardano? Warum Cardano es verdient, Preis- und Marktleistungsgeschichte 2025 ADA-Prognose 2025, 2026 und 2027 Preisprognosen 2040 und 2030 ADA-Preisprognose Faktoren, die die ADA-Kosten-Diagramm-Analyse und technische Aussichten Cardano Prognosetabelle für wichtige Punkte als wichtige Kraft in der Kryptocurrency-Industrie, Cardano (ADA) (ADA), bietet Sustainability und SUCTANO (ADA). Cardano ist Mitbegründer von Ethereum.

Inhalt verstehen den Mechanismus der Parabola SAR, das Arbeitsprinzip der Parabola -SAR -Berechnungsmethode und der Beschleunigungsfaktor visuelle Darstellung der Handelsdiagramme Anwendung von Parabola SAR auf Kryptow?hrungsm?rkten1. Identifizieren Sie potenzielle Trendumkehr 2. Bestimmen Sie die besten Eintritts- und Ausstiegspunkte3. Fallstudie für dynamische Stop -Loss -Order festlegen: Hypothetische ETH -Handelsszenario Parabola SAR -Handelssignale und Interpretation basierend auf Parabola SAR -Handelsausführung, die Parabola SAR mit anderen Indikatoren1 kombiniert. Verwenden Sie bewegliche Durchschnittswerte, um den Trend 2. Relative Festigkeitsindikator (RSI) für die Impulsanalyse3 zu best?tigen3. Bollinger -B?nder für Volatilit?tsanalyse Vorteile von Parabola SAR und Einschr?nkungen Vorteile von Parabola SAR
