MySQL中的BLOB类型和TEXT类型相关说明
- 4589
- MySQL
- 34
- super_dodo
- 2017/04/06
MySQL中BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同(255k-4G)。
有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。
BLOB 列被视为二进制字符串(字节字符串)。TEXT列被视为非二进制字符串(字符字符串)。BLOB列没有字符集,并且排序和比较基于列值字节的数值值。TEXT列有一个字符集,并且根据字符集的 校对规则对值进行排序和比较。
在TEXT或BLOB列的存储或检索过程中,不存在大小写转换。
//新建了一张表如下 CREATE TABLE `tbl_blob_test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL DEFAULT '', `remark` blob COMMENT '二进制', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4mb4; //使用PHP插入数据--循环插入几次(Yii2框架下面) $model = new BlobTest(); $model->name = 'Dodo--'.Date('Y-m-d'); $model->remark = '五星红旗你是我的骄傲我为你自豪为你欢呼。hello China..'; $model->save(); //Tips 存储的时候不需要进行任何处理,MySQL会自动存储 //导出来的sql备份语句为 INSERT INTO `tbl_blob_test` VALUES ('1', 'Dodo--2017-03-23', 0x446F646F626F6F6B323031372D30332D32332031353A30353A3031); INSERT INTO `tbl_blob_test` VALUES ('2', 'Dodo--2017-03-23', 0xE4BA94E6989FE7BAA2E69797E8BF8EE9A38EE9A39EE689AC2D2D646F646F626F6F6B); INSERT INTO `tbl_blob_test` VALUES ('3', 'Dodo--2017-03-23', 0xE4BA94E6989FE7BAA2E69797E8BF8EE9A38EE9A39EE689AC2D2D646F646F626F6F6B); INSERT INTO `tbl_blob_test` VALUES ('4', 'Dodo--2017-03-23', 0xE4BA94E6989FE7BAA2E69797E8BF8EE9A38EE9A39EE689AC2D2D646F646F626F6F6B); INSERT INTO `tbl_blob_test` VALUES ('5', 'Dodo--2017-03-23', 0xE4BA94E6989FE7BAA2E69797E8BF8EE9A38EE9A39EE689AC2D2D646F646F626F6F6B); INSERT INTO `tbl_blob_test` VALUES ('6', 'Dodo--2017-03-23', 0xE4BA94E6989FE7BAA2E69797E8BF8EE9A38EE9A39EE689AC2D2D646F646F626F6F6B); INSERT INTO `tbl_blob_test` VALUES ('7', 'Dodo--2017-03-23', 0xE4BA94E6989FE7BAA2E69797E4BDA0E698AFE68891E79A84E9AA84E582B22D2D646F646F626F6F6B); INSERT INTO `tbl_blob_test` VALUES ('8', 'Dodo--2017-03-23', 0xE4BA94E6989FE7BAA2E69797E4BDA0E698AFE68891E79A84E9AA84E582B2E68891E4B8BAE4BDA0E887AAE8B1AAE4B8BAE4BDA0E6ACA2E591BCE3808268656C6C6F204368696E612E2E); //这个时候使用LIKE语句进行查询remark字段也是完全OK的,和text字段类型一致 $sql = "SELECT * FROM tbl_blob_test WHERE remark LIKE '%hello%' "; //可以得到正常想要的结果 MySQL的四种BLOB类型: 类型 大小(单位:字节) TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G
在这个世界上。没有什么可以遮蔽一个人内心的光。
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例