mysql - 如何在 mysql 中为此 xml 创建一个表,以及创建表后如何导入?

标签 mysql xml

这是我的 XML 代码,我想将它导入 MySql 数据库,但我不知道如何为这个 XML 创建一个表,所以请指导我如何将 XML 代码导入数据库。代码如下。

 <states>
     <state name ="city1" colour="#009900">
      <point lat="475331583" lng="67.08251953125"/>
      <point lat="137335685307" lng="36328125"/>
      <point lat="044673317843" lng="67.1484375"/>
      <point lat="210237943" lng="6625"/>
    </state>

    <state name ="city2" color="#009900">
     <point lat="344.44" lng="64444"/>
     <point lat="256557" lng="4444"/>
     <point lat="25.955544" lng="67.1484375"/>
     <point lat="243" lng="665625"/>
   </state>

   <state name ="city3" color="#009900">
    <point lat="344.44" lng="64444"/>
    <point lat="256557" lng="4444"/>
    <point lat="25.955544" lng="65"/>
    <point lat="243" lng="665625"/>
  </state>
 </states> 

最佳答案

要创建表,请参阅 CREATE TABLE :

CREATE TABLE states (
    name  VARCHAR(255),
    color CHAR(7),
    PRIMARY KEY (name)
);

CREATE TABLE statePoints (
    name VARCHAR(255),
    lat  DECIMAL(50,25),
    lng  DECIMAL(50,25),
    FOREIGN KEY (name) REFERENCES states (name)
);

要导入数据,请参阅 LOAD XML :

LOAD XML INFILE '/path/to/file.xml'
    INTO TABLE states
    ROWS IDENTIFIED BY '<state>';

LOAD XML INFILE '/path/to/file.xml'
    INTO TABLE statePoints
    ROWS IDENTIFIED BY '<point>';

关于mysql - 如何在 mysql 中为此 xml 创建一个表,以及创建表后如何导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20606259/

相关文章:

php - 无法从数据库检索序列化数据

php - 我如何在 android spinner 中合并两个 json 对象

mysql - SQL 查询无法插入相同的列数,插入的列较少

xml - 在R中的<td>元素内解析<br>

java - 如何在java中获取嵌套xsd模式元素的类型

javascript - 使用 Jquery 对 IE7+ 和 Mozilla 进行 XML 解析

c# - 给定编码中的 xml 无效字符

php - 无法在 AJAX 文件中运行 javascript

MySQL LIKE 模式匹配在应该返回值时返回空集

JAVA SAX 解析器拆分对 characters() 的调用