MySQL字符串和二进制
为了存储字符串、图片和声音等数据,MySQL提供了字符串和二进制类型。 数据类型CHAR——用于表示固定长度的字符串 VARCHAR——用于表示可变长度的字符串 BINARY——用于表示固定长度的二进制数据 VARBINARY——用于表示可变长度的二进制数据 BOLB——用于表示二进制大数据 TEXT——用于表示大文本数据 ENUM——表示枚举类型,只能存储一个枚举字符串值 SET——表示字符串对象,可以有零或多个值 BIT——表示位字段类型 CHAR和VARCHAR类型都用来存储字符串 VARCHAR,可以存储可变长度的字符串 CHAR,存储定长字符串 定义如下 CHAR (M)或者VARCHAR (M) M指的是字符串的最大长度 比如 插入值’ab’ CHAR (4),需要4个字节 VARCHAR (4),需要3个字节 当数据为CHAR (M)类型时,不管插入值的长度是多少,所占用的存储空间都是M个字节。 当为VARCHAR (M)类型时,所占用的字节数为实际长度加1。 BINARY和VARBINARY类型类似于CHAR和VARCHAR 用来表示二进制数据 定义如下 BINARY (M)或者VARBINARY (M) M指的是二进制数据的最大字节长度 注意 BINARY类型的长度是固定的,如果数据的长度不足最大长度,在后面用” ”补齐。 比如,数据类型为BINARY (3),当插入a时,实际存储的是”a ” TEXT类型用于表示大文本数据 比如,文章内容、评论等 类型分为4中,如下 TINYTEXT 取值范围:0~255字节 TEXT 取值范围:0~65535字节 MEDIUMTEXT 取值范围:0~16777215字节 LONGTEXT 取值范围:0~4294967295字节 BLOB类型一种特殊的二进制类型 用于表示数据量很大的二进制数据 比如,图片、PDF文档等 分为4种,如下 TINYBLOB 取值范围:0~255字节 BLOB 取值范围:0~65535字节 MEDIUMBLOB 取值范围:0~16777215字节 LONGBLOB 取值范围:0~4294967295字节 BLOB和TEXT区别 BLOB类型数据,根据二进制编码进行比较和排序 TEXT类型数据,根据文本模式进行比较和排序 ENUM类型枚举类型 定义如下 ENUM (‘值1’,’值2’,’值3’,……,’值N’) 上述的(‘值1’,’值N’)称为枚举列表 ENUM类型的数据,只能从枚举列表中取,而且,只能取一个 枚举列表中的值都有一个顺序编号,存入的是这个顺序编号,而不是列表的值 SET类型用于表示字符串对象 它的值可以有0个,或多个。 SET类型的定义和ENUM类型类似 SET (‘值1’,’值N’) 与ENUM类型相同 (‘值1’,’值N’)列表中的每个值,都有一个顺序编号,MySQL中存储的是这个编号,而不是列表中的值 BIT类型用于表示二进制 定义如下 BIT (M) M表示每个值的位数,范围为1~64 注意 如果分配的BIT (M)的数据长度小于M,在数据的左边用0补齐 比如 BIT (6)类型的插入值为’101’,实际存储为’000101’ (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |