1

我们如何将数据从 XML 文件加载到 Mysql 表中?有没有办法从 XML 文件中读取数据并写入 MySql 数据库。我在 XML 文件中有大量数据。

提前感谢您的帮助。

4

3 回答 3

5

试试LOAD XML函数(MySQL 6.0)。以下是参考手册中的示例代码:

使用包含以下内容的 XML 文档person.xml

<?xml version="1.0"?>
<list>
  <person person_id="1" fname="Pekka" lname="Nousiainen"/>
  <person person_id="2" fname="Jonas" lname="Oreland"/>
  <person person_id="3"><fname>Mikael</fname><lname>Ronström</lname></person>
  <person person_id="4"><fname>Lars</fname><lname>Thalmann</lname></person>
  <person><field name="person_id">5</field><field name="fname">Tomas</field><field name="lname">Ulin</field></person>
  <person><field name="person_id">6</field><field name="fname">Martin</field><field name="lname">Sköld</field></person>
</list>

你会像这样创建一个表:

CREATE TABLE person (
    person_id INT NOT NULL PRIMARY KEY,
    fname VARCHAR(40) NULL,
    lname VARCHAR(40) NULL,
    created TIMESTAMP
);

并使用以下命令导入 XML:

LOAD XML LOCAL INFILE 'person.xml'
INTO TABLE person
ROWS IDENTIFIED BY '<person>';

或者,如果您正在运行 MySQL 5.0,您可以使用LOAD_FILE将整个 XML 文档作为字符串加载到单个列中,然后使用 MySQL 的 XPath 功能对其进行解析。

MySQL.com 上的这篇文章有更多详细信息:在 MySQL 5.1 和 6.0 中使用 XML

于 2009-04-06T14:49:31.147 回答
1

如果你正在寻找一个简单的解决方案,Navicat 有一个非常简单的 xml 导入功能。

于 2009-04-07T01:36:32.650 回答
0

为什么不使用 XSL 将 XML 转换为标准 SQL 插入语句,然后使用 mysql 客户端中的“source”命令来读取输出?

于 2009-04-06T14:32:28.347 回答