Oracle下存取XML格式數(shù)據(jù)的方式是什么
我們應(yīng)該都知道,XML來(lái)表達(dá)數(shù)據(jù)可以讓數(shù)據(jù)的處理和傳播變得非常方便。但是很多用戶不知道怎么使用。為此,今天小編一起與大家分享Oracle對(duì)XML格式數(shù)據(jù)的存取,由于在用XML存儲(chǔ)數(shù)據(jù)的時(shí)候可能會(huì)遇到點(diǎn)麻煩,所以學(xué)習(xí)本教程要特別注意與耐心.
方法步驟
最關(guān)鍵的地方就是要把表示ROW的標(biāo)簽設(shè)為rowTag,比如:
aaaa
bbbb
假如你的表是
table aaa
(
aaa varchar(20),
bbb varchar(20)
)
那么要指定哪個(gè)標(biāo)簽是記錄開(kāi)始啊.這兒就要指定
save.setRowTag("record");
一般從原來(lái)的表中得到的XML是用固定的rowsettag和rowtag.名字叫
ROWSET和RWO
比如:
aaaa
bbbb
但你在得到字符串前可是指定你想要的名字:
qry.setRowSetTag("TABLENAME");
qry.setRowTag("RECORDNAME");
這樣就會(huì)得到
aaaa
bbbb
所以你寫進(jìn)去的時(shí)候只要指定對(duì)應(yīng)的標(biāo)簽為ROWTAG就行了:
save.setRowTag("RECORDNAME");
save.insertXML(xml);就OK了.
另外,特別要注意XML是大小寫敏感的,你的RECORDNAME和recordname是兩個(gè)不同的tag,
XML有助于簡(jiǎn)化對(duì)象的持久化過(guò)程,使數(shù)據(jù)的持久化成為一個(gè)普通的開(kāi)發(fā)過(guò)程。通過(guò)把數(shù)據(jù)對(duì)象串行化為XML文檔,你就可以創(chuàng)建對(duì)象文檔,然后再采用BLOB字段類型就可以在數(shù)據(jù)庫(kù)中方便地存儲(chǔ)XML文檔了。
補(bǔ)充:MySQL 數(shù)據(jù)庫(kù)常用命令
create database name; 創(chuàng)建數(shù)據(jù)庫(kù)
use databasename; 進(jìn)入數(shù)據(jù)庫(kù)
drop database name 直接刪除數(shù)據(jù)庫(kù),不提醒
show tables; 顯示表
describe tablename; 查看表的結(jié)構(gòu)
select 中加上distinct去除重復(fù)字段
mysqladmin drop databasename 刪除數(shù)據(jù)庫(kù)前,有提示。
顯示當(dāng)前mysql版本和當(dāng)前日期
select version(),current_date;
數(shù)據(jù)庫(kù)維護(hù)方法
在MySQL使用的過(guò)程中,在系統(tǒng)運(yùn)行一段時(shí)間后,可能會(huì)產(chǎn)生碎片,造成空間的浪費(fèi),所以有必要定期的對(duì)MySQL進(jìn)行碎片整理。
當(dāng)刪除id=2的記錄時(shí)候,發(fā)生的現(xiàn)象
這個(gè)時(shí)候發(fā)現(xiàn)磁盤的空間并沒(méi)有減少。這種現(xiàn)象就叫做碎片化(有一部分的磁盤空間在數(shù)據(jù)刪除以后(空),還是無(wú)法被操作系統(tǒng)所使用。)
常見(jiàn)的優(yōu)化:
# alter table xxx engine myisam;
# optimize table t1;
注意: 在實(shí)際開(kāi)發(fā)的過(guò)程中,上面兩個(gè)語(yǔ)句盡量少使用,因?yàn)樵谑褂玫倪^(guò)程中,MySQL的表的結(jié)構(gòu)會(huì)整體全部重新整理,需要消耗很多的資源,建議在凌晨?jī)扇c(diǎn)鐘的時(shí)候執(zhí)行。(在linux下有定時(shí)器腳本可以執(zhí)行,crontab)
oracle相關(guān)文章:
1.如何將excel導(dǎo)入oracle數(shù)據(jù)庫(kù)的教程
3.oracle數(shù)據(jù)庫(kù)基礎(chǔ)使用方法