mysql - 将大型 XML 文件转换为 MySQL 的最简单方法

标签 mysql sql xml

我有一个 63MB XML 文件,它基本上是国际象棋棋手的列表,如下所示:

<playerslist>
   <player>
       <fideid></fideid>
       <name></name>
       <country></country>
       <sex></sex>
       <title></title>
       <rating></rating>
   </player>
   <player>
      ...
   </player>
</playerslist>

我想在网站上使用这些数据并能够对其进行搜索,因此将其作为 mySQL 数据库中的表对我来说是最方便的。
那么,将此 XML 文件转换为 mySQL 数据库的最简单方法是什么?

最佳答案

使用load-xml它会是这样的(考虑到列的命名与标签完全相同)

LOAD XML LOCAL INFILE '/path/to/players.xml'
INTO TABLE players
ROWS IDENTIFIED BY '<player>';

如果标签与列不匹配,还有另一种可能有效的方法:

LOAD XML INFILE '/path/to/players.xml'
INTO TABLE players (@fide_id, @name, @country, @sex, @title, @rating)
SET fide_id = @fide_id, name = @name, country = @country, sex = @sex, title = @title, rating = @rating
ROWS IDENTIFIED BY '<player>'

关于mysql - 将大型 XML 文件转换为 MySQL 的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39360338/

相关文章:

mysql - 同一张表上的 INNER JOIN COUNT

c# - Linq to Sql isnull in where 子句不起作用

android - MenuItem 有意打开链接?

java - 如何用正则表达式替换字符序列?

python - 在flask中从mysql解析json以从记录中获取字段

MySQL 在 order by 上使用多个索引

php - 如何访问数组数据

sql - 从 SQL Server 中的子查询值或其他聚合函数获取平均值

PHP 从 xml 增加/减少值

php - 当我们多次使用 mysqli_query 时,mysqli_num_rows 返回无效计数