数据库存储各种文件的方式:
MySQL为例:将各种文件转化为二进制对象,并保存文件格式。文件保存的重点是二进制文件的存储。有些文件的二进制存储对象的大小可能只有几KB,有些文件的大小确可能有几GB大小。文件大小的不确定性是选择文件存储二进制类型重要原因。现在在MYSQL数据库中提供四种二进制对象的存储类型:
①TinyBlob类型 最大存储对象为255B | TinyText类型 最大存储对象为255B
②Blob类型 最大容纳二进制对象为65KB | Text类型 最大存储对象为65KB
③MediumBlob类型 最大能容纳二进制对象为16MB | MediumText类型 最大能容纳对象为16MB
④LongBlob类型 最大能容纳二进制对象为4GB(弱弱的说一句常见文件系统FAT32最大单个文件存储大小就是4GB) | LongText类型 最大能容纳对象4GB
text是非二进制字符串,并且需要指定字符集,并按照该字符集进行校验和排序。只能存储纯文本,可以看作是VARCHAR在长度不足时的扩展。
blob存储的是二进制数据,因此无需字符集校验,blob除了存储文本信息外,由于二进制存储格式,所以还可以保存图片等信息,blob可以看作是VARBINARY在长度不足时的扩展。