Maison > base de données > tutoriel mysql > Partage d'expérience XML pour les opérations de requête de base de données MySQL

Partage d'expérience XML pour les opérations de requête de base de données MySQL

黄舟
Libérer: 2019-02-22 14:39:13
original
8409 Les gens l'ont consulté

Mysql a des fonctions intégrées pour manipuler le XML. Il s'agit respectivement des fonctions ExtractValue() et UpdateXML().

Syntaxe :

EXTRACTVALUE (fiedname, XPathstring);
Copier après la connexion

Le premier paramètre : fiedname est au format String, qui est le nom du champ dans la table. Le deuxième paramètre : XPathstring (chaîne au format XPath), si vous. ne comprenez pas la syntaxe XPath, vous pouvez trouver des tutoriels sur Internet. Fonction : Renvoie la chaîne contenant la valeur interrogée à partir du XML cible

UPDATEXML (fiedname, XPathstring, new_value) ; Le premier paramètre : fiedname est au format String, qui est le nom du champ dans la table. : XPathstring (chaîne au format XPath)

Le troisième paramètre : new_value, format String, remplace les données qualifiées trouvées Fonction : modifie la valeur du nœud qualifié dans le document

Tutoriel vidéo MySQL recommandé associé : "Tutoriel MySQL"

1. Nous créons d'abord une table de test.

CREATE TABLE `testtable` (   `testxml` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1
Copier après la connexion

Partage dexpérience XML pour les opérations de requête de base de données MySQL

2. Ajoutez ensuite un enregistrement à la table de test. Enregistré au format XML.

Partage dexpérience XML pour les opérations de requête de base de données MySQL

3 Nous utilisons d'abord la fonction EXTRACTVALUE pour connaître le contenu du nœud nommé Zhang San. Vous pouvez voir le contenu du nœud Zhang San que nous avons trouvé dans la zone de sortie ci-dessous. Le format XPath est le suivant :

extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'
Copier après la connexion

Partage dexpérience XML pour les opérations de requête de base de données MySQL

4. . Nous avons maintenant le nœud de classe de requête Les valeurs de tous les nœuds de nom ci-dessous.

 extractvalue(testxml,'/Student/Class/Name'
Copier après la connexion

Partage dexpérience XML pour les opérations de requête de base de données MySQL

5. Ensuite, nous utilisons la fonction updatexml pour modifier le contenu du nœud XML.

extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'),  
Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')
,把zhangsan节点内容换为updatename。
Copier après la connexion

Partage dexpérience XML pour les opérations de requête de base de données MySQL

6 D'après les résultats ci-dessus, nous pouvons voir que la structure XML a un nœud de nom de moins après avoir utilisé updatexml. . Il nous suffit d'ajouter la valeur mise à jour au nœud lors du remplacement.

extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'),  
Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')
Copier après la connexion

Partage dexpérience XML pour les opérations de requête de base de données MySQL

7. Utilisez l'instruction Update pour mettre à jour le contenu de la base de données.

UPDATE testtableSET testxml=  Updatexml(testxml,&#39;/Student/Class/Name[self:text()="zhangsan"]&#39;,&#39;<Name>updatename</Name>&#39;)
Copier après la connexion

Partage dexpérience XML pour les opérations de requête de base de données MySQL

Partage dexpérience XML pour les opérations de requête de base de données MySQL

Notes

À l'aide de UpdateXml, nous venons de modifier le contenu du champ de recherche, Le la base de données n'est pas mise à jour. Si vous devez mettre à jour la base de données, vous devez la mettre à jour avec l'instruction de mise à jour

.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal