首页 / 知识
关于数据库:MySQL中的二进制数据
2023-04-11 12:36:00

Binary Data in MySQL如何在MySQL中存储二进制数据? phpguy的答案是正确的,但是我认为那里的其他细节存在很多混乱。
基本答案是在 请参见MySQL的相关手册页。 对于这样的表:
这是一个PHP示例:
我强烈建议不要将二进制数据存储在关系数据库中。关系数据库旨在处理固定大小的数据。那就是他们的性能优势所在:还记得乔尔(Joel)关于数据库为何如此之快的旧文章吗?因为从一条记录移动到另一条记录仅需要1个指针增量。如果添加大小不确定且大小各不相同的BLOB数据,则会提高性能。 而是将文件存储在文件系统中,并将文件名存储在数据库中。 尽管您没有说出要存储的内容,但这样做的理由可能很充分,但答案通常是"作为文件系统参考",而实际数据在文件系统中的某个位置。 http://www.onlamp.com/pub/a/onlamp/2002/07/11/MySQLtips.html
这取决于您要存储的数据。上面的示例使用了
每个都有其用例。如果它是已知的(短)长度(例如打包数据),则
尽管没有必要,您可以尝试 如果存在-不推荐-BLOB字段,则可以通过以下方式保存数据:
想法来自这里。
当我需要存储二进制数据时,我总是使用d0nut在前面的答案之一中介绍的 您可以在MySQL网站上的文档主题下找到文档:12.4.2 BINARY和VARBINARY类型。 如果您在问什么是优点,请阅读以下问题:why-varbinary-instead-of-varchar。 还有一个问题是如何将数据放入BLOB。您可以将数据放在INSERT语句中,如PHP示例所示(尽管您应该使用mysql_real_escape_string而不是addlashes)。如果文件存在于数据库服务器上,则还可以使用MySQL的LOAD_FILE |
最新内容
相关内容
关于二进制:C中的移位运算符(>>,<<)是
关于二进制:C中的移位运算符(>>,Are the shift operators (<<, >>) arithmetic or logical in C?
在C语言中,移位运算符(和>>是算术使用 MS Access 作为 MySQL 数据库
使用 MS Access 作为 MySQL 数据库后端的前端的问题?,使用 MS Access 作为 MySQL 数据库后端的前端的问题?,数据库,用户,文件,编写,Iss关于WPF中的c#:数值数据输入
关于WPF中的c#:数值数据输入,关于WPF中的c#:数值数据输入,输入,控件,应用程序,数字,Numeric Data Entry in WPF在WPF应用程序中如何处理关于数据库:将图像存储在数据库中-
关于数据库:将图像存储在数据库中-是或否?,关于数据库:将图像存储在数据库中-是或否?,位置,图像,应用程序,文件系统,Storing Images in D关于C#:将二进制文件读入结构
关于C#:将二进制文件读入结构,关于C#:将二进制文件读入结构,读取,数据,文件,二进制,Read binary file into a struct我正在尝试使用C#读取在性能开始下降之前,MySQL数据库能
在性能开始下降之前,MySQL数据库能达到多少?,在性能开始下降之前,MySQL数据库能达到多少?,性能,数据库,数量,什么时候开始,How big can a关于sql server:由多个用户编辑数据
关于sql server:由多个用户编辑数据库记录,关于sql server:由多个用户编辑数据库记录,服务,应用程序,规范化,用户,Editing database re浮点型数据使用注意事项
浮点型数据使用注意事项,浮点型,数据,使用,注意事项,浮点型,数据,, 浮点型数据使用注意事项 JavaScript中的所有数据都是以64位浮js-数字可以私有数据进行初始化
js-数字可以私有数据进行初始化,js-,数字,可以,是,或者,对象,数字,可以,是,,数字可以是数字或者对象数字可以私有数据进行初始化,就如何将数据从SQL Server 2005导出
如何将数据从SQL Server 2005导出到MySQL,如何将数据从SQL Server 2005导出到MySQL,数据,数据库,我一直,我已经,How to export data