MySQL データベースでの XML のクエリと操作の経験を共有する

黄舟
リリース: 2019-02-22 14:39:13
オリジナル
8403 人が閲覧しました

mysql には、xml を操作するための組み込み関数があります。これらはそれぞれ ExtractValue() 関数と UpdateXML() 関数です。

構文:

EXTRACTVALUE (fiedname, XPathstring);
ログイン後にコピー

最初のパラメーター: fiedname は、テーブル内のフィールド名である文字列形式です。 2 番目のパラメーター: XPathstring (Xpath 形式の文字列) は、Xpath 構文を理解していなくてもわかります。オンラインでチュートリアルを見つけてください。関数: ターゲット XML からクエリされた値を含む文字列を返します

UPDATEXML (fiedname, XPathstring, new_value); 最初のパラメータ: fiedname は文字列形式であり、これはテーブル内のフィールド名です

3 番目のパラメータ: new_value、文字列形式、見つかった修飾されたデータを置き換えます 機能: ドキュメント内の修飾されたノードの値を変更します

推奨される関連する mysql ビデオ チュートリアル: "mysql チュートリアル"

まず、1 を作成します。テストテーブル。

CREATE TABLE `testtable` (   `testxml` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1
ログイン後にコピー

MySQL データベースでの XML のクエリと操作の経験を共有する

2. 次に、テストテーブルにレコードを追加します。 XML形式で記録されます。

MySQL データベースでの XML のクエリと操作の経験を共有する

3. まず EXTRACTVALUE 関数を使用して、Zhang San という名前のノードの内容を見つけます。以下の出力ボックスで見つかった Zhang San ノードの内容を確認できます。xpath 形式は次のとおりです

extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'
ログイン後にコピー

MySQL データベースでの XML のクエリと操作の経験を共有する

4。次に、クラスの下にあるすべての名前ノードの値をクエリする必要があります。ノード。

 extractvalue(testxml,'/Student/Class/Name'
ログイン後にコピー

MySQL データベースでの XML のクエリと操作の経験を共有する

5. 次に、updatexml 関数を使用して、xml のノードの内容を変更します。

extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'),  
Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')
,把zhangsan节点内容换为updatename。
ログイン後にコピー

MySQL データベースでの XML のクエリと操作の経験を共有する

6. 上記の結果から、updatexml を使用した後、xml 構造の名前ノードが 1 つ減っていることがわかります。置換するときに、更新された値をノードに追加するだけで済みます。

extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'),  
Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename')
ログイン後にコピー

MySQL データベースでの XML のクエリと操作の経験を共有する

7. Update ステートメントを使用してデータベースの内容を更新します。

UPDATE testtableSET testxml=  Updatexml(testxml,&#39;/Student/Class/Name[self:text()="zhangsan"]&#39;,&#39;<Name>updatename</Name>&#39;)
ログイン後にコピー

MySQL データベースでの XML のクエリと操作の経験を共有する

MySQL データベースでの XML のクエリと操作の経験を共有する

注意事項

UpdateXml を使用すると、チェックされたフィールドの内容が変更されただけであり、データベースを更新する必要がある場合は、update ステートメントを使用して更新する必要があります

以上がMySQL データベースでの XML のクエリと操作の経験を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート