Utilisation de JSON dans 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é)合實際案例進行講解,幫助您快速上手。
為什么選擇 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 表達式獲取指定值。->
運算符: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()
:僅當鍵不存在時插入。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ā)效率。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Table des matières L'historique des prix de Solana et les données importantes du marché Données importantes dans le tableau des prix Solana: 2025 Prévisions de prix Solana: Optimiste 2026 Prévisions de prix Solana: Maintenir la tendance 2026 Prévisions de prix Solana: 2030 Solana Prévisions de prix à long terme: Top Blockchain? Qu'est-ce qui affecte les prévisions des prix du soleil? évolutivité et Solana: Avantages compétitifs devriez-vous investir dans Solana dans les prochaines années? Conclusion: Prospects des prix de Solana Conclusion: Solana a son excellente évolutivité, ses faibles co?ts de transaction et sa grande efficacité

Le contenu comprend le mécanisme de la SAR parabole Le principe de travail de la méthode de calcul du SAR parabole et la représentation visuelle du facteur d'accélération sur les cartes commerciales application de la parabole SAR sur les marchés des crypto-monnaies1. Identifiez l'inversion de tendance potentielle 2. Déterminez les meilleurs points d'entrée et de sortie3. Définir l'étude de cas de l'ordre des pertes d'arrêt dynamique: Scénario de trading d'ETH hypothétique SALS SALS SAR SAR Parabole et interprétation basée sur l'exécution du trading SAR parabole combinant Parabola SAR avec d'autres indicateurs1. Utilisez des moyennes mobiles pour confirmer la tendance 2. Indicateur de résistance relative (RSI) pour l'analyse de la momentum3. Bollinger Bands for Volatility Analysis Avantages de Parabola SAR et Limitations Avantages de Parabola SAR

Répertoire Qu'est-ce que Cardano? Caractéristiques clés de Cardano Comment fonctionne Cardano? Pourquoi Cardano mérite de considérer l'historique des performances des prix et du marché 2025 ADA Prévisions 2025, 2026 et 2027 Prévisions de prix 2040 et 2030 Facteurs de prévisions de prix ADA affectant l'analyse des dossiers des co?ts ADA et les prévisions de Cardano de perspectives techniques: Résumé des points clés en tant que force importante dans le secteur de la crypto-monnaie, Cardano (ADA) offre des solutions de blocage de bord de bord de dérivation avec un accent sur la durabilité, l'évolutivité et la sécurité. Cardano est co-fondatrice d'Ethereum.

Le navigateur Blockchain est un outil nécessaire pour interroger les informations de transaction de monnaie numérique. Il fournit une interface visuelle pour les données de blockchain, afin que les utilisateurs puissent interroger le hachage de transaction, la hauteur de blocage, le solde d'adresse et d'autres informations; Son principe de travail comprend la synchronisation des données, l'analyse, l'indexation et l'affichage de l'interface utilisateur; Les fonctions principales couvrent les détails de la transaction de requête, les informations de bloc, le solde d'adresse, les données de jetons et l'état du réseau; Lorsque vous l'utilisez, vous devez obtenir TXID et sélectionner le navigateur blockchain correspondant tel que Etherscan ou Blockchain.com pour rechercher; Interroger les informations de l'adresse pour afficher l'historique du solde et des transactions en entrant l'adresse; Les navigateurs grand public incluent Bitcoin's Blockchain.com, Ethereum's Etherscan.io, B

La blockchain est une technologie de registre numérique distribué et décentralisé. Ses principes principaux comprennent: 1. Le grand livre distribué garantit que les données sont stockées simultanément sur tous les n?uds; 2. Technologie de chiffrement, liant les blocs par le biais de valeurs de hachage pour garantir que les données ne sont pas falsifiées; 3. Les mécanismes de consensus, tels que POW ou POS, garantissent que les transactions sont convenues entre les n?uds; 4. Décentralisation, éliminant un seul point de contr?le, améliorant la résistance à la censure; 5. Contrats intelligents, protocoles d'exécution automatisée. Les crypto-monnaies sont des actifs numériques émis en fonction de la blockchain. Le processus de fonctionnement est: 1. L'utilisateur initie les transactions et les signes numériquement; 2. Les transactions sont diffusées au réseau; 3. Le mineur ou le vérificateur vérifie la validité de la transaction; 4. Plusieurs transactions sont emballées dans de nouveaux blocs; 5. Confirmer la nouvelle zone par le mécanisme consensuel

Grace à ses contrats intelligents Turing-Complete, ses machines virtuelles EVM et ses mécanismes de gaz, Ethereum a construit une plate-forme blockchain programmable au-delà du bitcoin, soutenant les écosystèmes d'application diversifiés tels que Defi et NFT; Ses principaux avantages incluent un écosystème DAPP riche, une forte programmabilité, une communauté de développeurs actifs et une interopérabilité transversale; Il met actuellement en ?uvre une transformation consensuelle de la POW au POS à travers la mise à niveau d'Ethereum 2.0, introduisant des cha?nes de balises, des mécanismes de vérificateur et des systèmes de punition pour améliorer l'efficacité énergétique, la sécurité et la décentralisation; à l'avenir, il s'appuiera sur la technologie de rupture pour réaliser le fragment des données et le traitement parallèle, améliorant considérablement le débit; Dans le même temps, la technologie Rollup a été largement utilisée comme solution de couche 2, Rollup optimiste et ZK-Rollu

Table des matières Analyse des prix momofun Qu'est-ce que momofun? L'agent AI Ai-Ai Pool fournit la technologie de la technologie de liquidité intelligente: Comment le modèle MEMEFI de Framework Eliza Momofun travaille à Momofun Future Momofun Price Analysis ** Prix ** 0,003709 ** Valeur de marché ** 29,533 834 ** Supply de circulation ** 7 800 000 000 mm ** PLICE TOTAL 30,000,000 000 MA Fonctions dans l'écosystème du système: gouvernance et vote (

L'European Exchange est une plate-forme de services d'actifs numériques de pointe, offrant aux utilisateurs des services de trading et financiers numériques divers. Son application officielle est con?ue avec une opération pratique et s'engage à créer un environnement de trading s?r et stable pour les utilisateurs.
