类型存储MySQL中的二进制数据类型(mysql二进制数据)
MySQL的data type的种类众多,它们中的二进制数据类型又可以分为4类:CHAR,VARCHAR,BLOB,TEXT,它们都是以二进制形式存储以及处理数据。
CHAR类型用于存储字符串,可以指定字符串的最大长度。它具有固定长度且可以用于比较和排序,查询快;但是数据开销大,不便于管理,比如CHAR(10),将存储‘abcd’时仍然占用10字节的空间即平均长度选项。
VARCHAR类型也是存储字符串,但是它的最大长度是可变的,比如可以设置长度为20字节,存储‘abcd’时只消耗4字节空间即变长选项;因此它占用空间比CHAR少,查询效率会有些降低。
BLOB(二进制大对象)专门用来存储web应用中的大型二进制数据,包括图片,视频,音乐等;它可以存储非常大的量的数据,查询速度比较慢,它也有4种不同的子类型,TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB,根据不同的需要选择不同的子类型。
TEXT类型用于存储大型纯文本,它也可以存储非常大的数据,比如,它可以存储大型文字文档;它也有四种子类型,TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT。
例如,存储图片时,可以使用BLOB类型:
“`sql
CREATE TABLE image(
image_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
image_data BLOB NOT NULL,
PRIMARY KEY (image_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以上就是MySQL中的二进制数据类型,CHAR,VARCHAR,BLOB和TEXT这四个二进制数据类型分别有什么样的特性,即存储的数据的最大容量以及使用的时候的注意事项。