在 MySQL 中,您可以使用 XML 数据类型来存储和操作 XML 文档
CREATE TABLE example_table (
id INT AUTO_INCREMENT PRIMARY KEY,
xml_data XML
);
INSERT INTO example_table (xml_data) VALUES ('<?xml version="1.0"?><catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer\'s Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with XML.</description>
</book>
</catalog>');
使用 XPath 表达式查询 XML 数据。例如,要获取所有 book 元素的 author 子元素,可以使用以下查询:
SELECT ExtractValue(xml_data, '/catalog/book/author') AS author FROM example_table;
使用 XML 函数 UpdateXML()
更新 XML 数据。例如,要将 id 为 bk101 的 book 元素的 genre 更改为 “Programming”,可以使用以下查询:
UPDATE example_table SET xml_data = UpdateXML(xml_data, '/catalog/book[@id="bk101"]/genre/text()', 'Programming') WHERE id = 1;
要删除 XML 数据,请使用 DELETE
语句。例如,要删除表中的所有记录,可以使用以下查询:
DELETE FROM example_table;
注意:在使用 XML 数据类型时,请确保您的 MySQL 版本支持该功能。从 MySQL 5.7.8 开始,已弃用对 XML 数据类型的支持。相反,您可以使用字符串数据类型(如 TEXT 或 LONGTEXT)存储 XML 数据,并使用内置的 XML 函数进行操作。