如何将XML数据存储到mysql数据库中?我不想疯狂的外键

时间:2010-02-05 00:27:12

标签: mysql xml database data-structures

如果我的XML数据非常复杂,有没有办法将其存储在DB中?

3 个答案:

答案 0 :(得分:27)

“常规”方式是将XML存储在CLOB(字符大对象)中,MySQL支持具有4种数据类型的CLOB:

  • TINYTEXT - CLOB列,最大长度为255(2 ** 8 - 1)个字符。
  • TEXT - CLOB列,最大长度为65,535(2 ** 16 - 1)个字符。
  • MEDIUMTEXT - CLOB列,最大长度为16,777,215(2 ** 24 - 1)个字符。
  • LONGTEXT - CLOB列,最大长度为4,294,967,295或4GB(2 ** 32 - 1)个字符。

使用其中一个取决于您的需求。

答案 1 :(得分:6)

这完全取决于您希望数据库使用XML做什么。

  • 如果您只想存储XML文档以供日后检索,只需使用blob或文本字段即可。另请查看MySQL docs
  • 如果您尝试转储/导入模型,请使用mysqldump。
  • 如果您打算查询XML,则应该使用原生XML数据库,例如eXist-db

答案 2 :(得分:1)

我建议使用具有本机XML数据类型的数据库。例如,Postgres会这样做。如果您计划在数据库中使用XML进行大量工作,这将使您的生活更加轻松。