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%'" –-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 14 | INSERT INTO client_citizenship SELECT cl.client_id,
cl.date_of_birth,
cl.gender,
cit.citizenship_id,
cit.country_code,
cit.primary_citizenship FROM 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_id AND cit.logical_delete_indicator = 0 AND cl.logical_delete_indicator = 0; |
在這個(gè)臨時(shí)表上執(zhí)行“SELECT *”查詢返回下面的記錄:
1 2 3 | client_id, date_of_birth, gender, citizenship_id, country_code, primary_citizenship 2, 1944-01-15, F, 4, 20, 0 2, 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)