如何在MySQL中存储二进制数据

时间:2012-06-11 11:20:54

标签: mysql binary data-storage

如何将二进制数据存储在MySQL数据库中?

3 个答案:

答案 0 :(得分:8)

这个问题不是那么直接回答,因为它听起来:有很多不同的二进制数据使用模式,每个都有自己的警告和优点和缺点。让我试着总结一下:

  • 简短的二进制数据,例如密码哈希,只需对它们进行base64编码并将结果字符串存储为VARCHAR即可正常工作
  • “非二进制”数据,例如偶尔不可打印的文档snipplet可以转义并作为字符串存储
  • BLOB数据类型允许您存储任意数据块的二进制数据,但我强烈建议不要使用它:将数据存储在文件中,然后以String类型存储文件的路径。从存储二进制数据中获得的一切都没有,数据库在数据库中没有“理解”。

答案 1 :(得分:3)

我建议LONGBLOB将文件存储在MySQL中。 这一切都取决于什么样的二进制文件和你的应用程序。

TINYBLOB - A BLOB column with a maximum length of 255 (28 - 1) characters.
BLOB - A BLOB column with a maximum length of 65,535 (216 - 1) characters.
MEDIUMBLOB - A BLOB column with a maximum length of 16,777,215 (224 - 1) characters.
LONGBLOB - A BLOB column with a maximum length of 4,294,967,295 (232 - 1) characters.

答案 2 :(得分:2)

二进制数据可以存储在BLOB字段的MySQL数据库中。 BLOB是一个二进制大对象,可以容纳可变数量的数据。