在 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 函數進行操作。