MySQL數(shù)據(jù)庫中XML數(shù)據(jù)如何使用

MySQL數(shù)據(jù)庫中XML數(shù)據(jù)如何使用,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

六枝ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!


使用--xml選項(xiàng)將數(shù)據(jù)導(dǎo)出為XML格式
在MySQL 5.0之前的版本中,使用MySQL命令行客戶端以XML格式導(dǎo)出數(shù)據(jù)時(shí)有諸多限制,執(zhí)行一個(gè)命令或查詢時(shí)使用--xml或-X選項(xiàng)告訴MySQL客戶端將結(jié)果輸出為XML數(shù)據(jù),例如,下面的命令將輸出所有以version開頭的數(shù)據(jù)庫變量。

C:>mysql -u <userid> -p<password> -e     "SHOW VARIABLES LIKE '%version%'" &ndash;-xml

最終輸出的XML包括下面的標(biāo)準(zhǔn)格式:
整個(gè)數(shù)據(jù)集都包括在節(jié)點(diǎn)中;
每一行對(duì)應(yīng)一個(gè)節(jié)點(diǎn);
所有列包括在一個(gè)節(jié)點(diǎn)中;
列名出處在name屬性中;
列值是一個(gè)文本節(jié)點(diǎn)。

雙擊代碼全選
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24<?xml version="1.0"?><resultset statement="SHOW VARIABLES LIKE '%version%'"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">   <row>         <field name="Variable_name">protocol_version</field>         <field name="Value">10</field>   </row>   <row>         <field name="Variable_name">version</field>         <field name="Value">5.1.30-community</field>   </row>   <row>         <field name="Variable_name">version_comment</field>         <field name="Value">MySQL Community Server (GPL)</field>   </row>   <row>         <field name="Variable_name">version_compile_machine</field>         <field name="Value">ia32</field>   </row>   <row>         <field name="Variable_name">version_compile_os</field>         <field name="Value">Win32</field>   </row></resultset>

為了便于對(duì)比,下面給出上面的命令表格化輸出結(jié)果。

雙擊代碼全選
1 2 3 4 5 6 7 8 9+-------------------------+---------------------+| Variable_name             | Value                  |+-------------------------+---------------------+| protocol_version          | 10                     || version                     | 5.1.22-beta-debug   || version_comment           | Source distribution || version_compile_machine | x86_64                 || version_compile_os       | suse-linux-gnu        |+-------------------------+---------------------+

同樣的語法可以應(yīng)用到SELECT語句中,在我以前的一篇文章“借助臨時(shí)表讓你的MySQL查詢效率更高”中,最開始的查詢中我就用logical_delete_indicator=0的記錄填充client_citizenship臨時(shí)表。

雙擊代碼全選
1 2 3 4 5 6 7 8 9 10 11 12 13 14INSERT INTO client_citizenshipSELECT     cl.client_id,     cl.date_of_birth,     cl.gender,        cit.citizenship_id,     cit.country_code,     cit.primary_citizenshipFROM      temp_table_article.client AS cl,       temp_table_article.citizenship AS cit,       temp_table_article.client_citizenship_rel AS rel  WHERE   cl.client_id                 = rel.client_id AND     cit.citizenship_id           = rel.citizenship_idAND     cit.logical_delete_indicator = 0AND     cl.logical_delete_indicator  = 0;

在這個(gè)臨時(shí)表上執(zhí)行“SELECT *”查詢返回下面的記錄:

雙擊代碼全選
1 2 3client_id, date_of_birth, gender, citizenship_id, country_code, primary_citizenship2,         1944-01-15,    F,      4,              20,           02,         1944-01-15,    F,      7,              77,           1

當(dāng)我加上--xml選項(xiàng)后,“SELECT *”查詢將返回下面的XML格式結(jié)果:

雙擊代碼全選
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20<?xml version="1.0"?><resultset statement="SELECT * FROM client_citizenship"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">   <row>         <field name="client_id">2</field>         <field name="date_of_birth">1944-01-15</field>         <field name="gender">F</field>         <field name="citizenship_id">4</field>         <field name="country_code">20</field>         <field name="primary_citizenship">0</field>   </row>   <row>         <field name="client_id">2</field>         <field name="date_of_birth">1944-01-15</field>         <field name="gender">F</field>         <field name="citizenship_id">7</field>         <field name="country_code">77</field>         <field name="primary_citizenship">1</field>   </row></resultset>

使用--xml選項(xiàng)的缺點(diǎn)是從關(guān)聯(lián)的數(shù)據(jù)到XML的映射是固定的,因此無法修改輸出。如果你想做某些字符串操作,可以去掉--xml選項(xiàng),按你自己的方式生成XML代碼。
繼續(xù)沿用前面的查詢,我們?cè)賮砜纯慈绾涡薷妮敵龅腦ML,使其符合下面的格式要求:

雙擊代碼全選
1 2 3 4 5 6 7 8<client>         <client_id>2</client_id>         <date_of_birth>1944-01-15</date_of_birth>         <gender>F</gender>         <citizenship_id>7</citizenship_id>         <country_code>77</country_code>         <primary_citizenship>1</primary_citizenship>   </client>

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)站欄目:MySQL數(shù)據(jù)庫中XML數(shù)據(jù)如何使用
鏈接URL:http://bm7419.com/article14/jdedge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、網(wǎng)站導(dǎo)航關(guān)鍵詞優(yōu)化Google、手機(jī)網(wǎng)站建設(shè)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司