CHAR 和 VARCHAR 范例
发布时间:2021-05-23 17:39:22 所属栏目:编程 来源:互联网
导读:CHAR(M) 为牢靠长度字符串,在界说时指定字符串列长。当生涯时,在右侧添补空格以到达指定的长度。M 暗示列的长度,范畴是 0~255 个字符。 譬喻,CHAR(4) 界说
CHAR(M) 为牢靠长度字符串,在界说时指定字符串列长。当生涯时,在右侧添补空格以到达指定的长度。M 暗示列的长度,范畴是 0~255 个字符。 譬喻,CHAR(4) 界说了一个牢靠长度的字符串列,包括的字符个数最大为 4。当检索到 CHAR 值时,尾部的空格将被删除。 VARCHAR(M) 是长度可变的字符串,M 暗示最大列的长度,M 的范畴是 0~65535。VARCHAR 的最大现实长度由最长的行的巨细和行使的字符集确定,而现实占用的空间为字符串的现实长度加 1。 譬喻,VARCHAR(50) 界说了一个最大长度为 50 的字符串,假如插入的字符串只有 10 个字符,则现实存储的字符串为 10 个字符和一个字符串竣事字符。VARCHAR 在值生涯和检索时尾部的空格仍保存。 【实例】下面将差异的字符串生涯到 CHAR(4) 和 VARCHAR(4) 列,声名 CHAR 和 VARCHAR 之间的不同,如下表所示。 插入值 CHAR(4) 存储需求 VARCHAR(4) 存储需求 ' ' ' ' 4字节 '' 1字节 'ab' 'ab ' 4字节 'ab' 3字节 'abc' 'abc ' 4字节 'abc' 4字节 'abcd' 'abcd' 4字节 'abcd' 5字节 'abcdef' 'abcd' 4字节 'abcd' 5字节 比拟功效可以看到,CHAR(4) 界说了牢靠长度为 4 的列,无论存入的数据长度为几多,所占用的空间均为 4 个字节。VARCHAR(4) 界说的列所占的字节数为现实长度加 1。 TEXT 范例 TEXT 列生涯非二进制字符串,如文章内容、评述等。当生涯或查询 TEXT 列的值时,不删除尾部空格。 TEXT 范例分为 4 种:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。差异的 TEXT 范例的存储空间和数据长度差异。 TINYTEXT 暗示长度为 255(28-1)字符的 TEXT 列。 TEXT 暗示长度为 65535(216-1)字符的 TEXT 列。 MEDIUMTEXT 暗示长度为 16777215(224-1)字符的 TEXT 列。 LONGTEXT 暗示长度为 4294967295 或 4GB(232-1)字符的 TEXT 列。 ENUM 范例 ENUM 是一个字符串工具,值为表建设时列划定中列举的一列值。其语法名目如下: <字段名> ENUM( '值1', '值1', …, '值n' ) 字段名指将要界说的字段,值 n 指列举列表中第 n 个值。ENUM 范例的字段在取值时,能在指定的列举列表中获取,并且一次只能取一个。假如建设的成员中有空格,尾部的空格将自动被删除。 ENUM 值在内部用整数暗示,每个列举值均有一个索引值;列表值所应承的成员值从 1 开始编号,MySQL 存储的就是这个索引编号,列举最多可以有 65535 个元素。 譬喻,界说 ENUM 范例的列('first','second','third'),该列可以取的值和每个值的索引如下表所示。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |