本章介绍DB2使用XML。
pureXML特性允许存储在数据库表中的列格式良好的XML文档。这些列具有XML数据库。数据通过存储XML数据,XML列放在其固有的层次化的形式。所存储的XML数据可以被访问和DB2数据库服务器功能进行管理。 XML数据在其天然分层形式存储实现高效的搜索,检索和XML的更新。更新XML数据的值,需要使用两个XQuery,SQL或组合。
创建一个数据库和表来存储XML数据
创建数据库通过以下语法:
语法:
db2 create database xmldb
默认情况下,数据库使用UTF-8(UNICODE),代码集。激活数据库,并连接到它:
语法:
db2 activate db <db_name> db2 connect to <db_name>
示例:
db2 activate db xmldb
db2 connect to xmldb
创造一个良好的XML文件,并创建一个列作为“XML”的数据类型的表。它是强制性通过包含在双引号XML语法的SQL查询。
语法:
db2 “create table <schema>.<table>(col <datatype>, col <xml datatype>)”
示例:
db2 "create table shope.books(id bigint not null primary key, book XML)"
插入XML值到表,格式良好的XML文档是使用SQL语句“INSERT”插入XML类型列。
语法:
db2 “insert into <table_name> values(value1, value2)”
例如:
db2 "insert into shope.books values(1000, '<catalog> <book> <author> Gambardella Matthew</author> <title>XML Developers Guide</title> <genre>Computer</genre> <price>44.95</price> <publish_date>2000-10-01</publish_date> <description>An in-depth look at creating application with XML</description> </book> </catalog>')"
更新表中的XML数据
可以通过使用以下语法更新表中的XML数据:
语法:
db2 “update <table_name> set <column>=<value> where <column>=<value>”
示例:
db2 "update shope.books set book='<catalog> <book> <author> Gambardella, Matthew</author> <title>XML Developers Guide</title> <genre>Computer</genre> <price>44.95</price> <publish_date>2000-10-01</publish_date> <description>An in-depth XML</description> </book> </catalog>' where id=1000"