怎么看mysql位数 怎么查看mysql位数( 三 )


[NATIONAL] CHAR(M) [BINARY]一个定长的字符串,当存储时,总是以空格填满右边到指定的长度 。M的范围是 0 到 255 (在 MySQL 3.23 版本之前为 1 到 255) 。当该值被检索时,尾部空格将被删除 。CHAR值根据缺省的字符集进行忽略大小写的排索与比较,除非指定了关键词BINARY 。NATIONAL CHAR(或短形式NCHAR) 是以 ANSI SQL 方式定义一个CHAR列,它将使用缺省的字符集 。这在 MySQL 中是默认的 。
CHAR是CHARACTER的缩写 。MySQL 允许以CHAR(0)类型建立一个列 。一些老程序运行时必需一个列,却又并不使用这个列的值,你就不得不为了适应它而建立该列,在这情况下,CHAR(0)将是很有益的 。当需要一个列仅保存两个值时:一个为CHAR(0)(该列没有定义为NOT NULL) , 这将仅占用一个比特位来存储 2 个值:NULL或"" 。查看章节6.2.3.1CHAR和VARCHAR类型 。CHAR这是CHAR(1)的同义词 。
[NATIONAL] VARCHAR(M) [BINARY]一个变长的字符串 。注意:尾部的空格在存储时将会被删除(这与 ANSI SQL 约规不同) 。M的范围是 0 到 255 (在 MySQL 4.0.2 之前的版本中是 1 到 255) 。
VARCHAR值以大小写忽略方式进行排索与比较,除非关键词BINARY被指定 。查看章节6.5.3.1 隐式的列定义变化 。VARCHAR是CHARACTER VARYING的缩写 。查看章节6.2.3.1CHAR和VARCHAR类型 。
TINYBLOBTINYTEXT一个BLOB或TEXT列,最大长度为 255 (2^8 - 1) 个字符 。查看章节6.5.3.1 隐式的列定义变化 。查看章节6.2.3.2BLOB和TEXT类型 。
BLOBTEXT一个BLOB或TEXT列,最大长度为 65535 (2^16 - 1) 个字符 。查看章节6.5.3.1 隐式的列定义变化 。查看章节6.2.3.2BLOB和TEXT类型 。
MEDIUMBLOBMEDIUMTEXT一个BLOB或TEXT列 , 最大长度为 16777215 (2^24 - 1) 个字符 。查看章节6.5.3.1 隐式的列定义变化 。查看章节6.2.3.2BLOB和TEXT类型 。
LONGBLOBLONGTEXT一个BLOB或TEXT列,最大长度为 4294967295 (2^32 - 1) 个字符 。查看章节6.5.3.1 隐式的列定义变化 。注意,由于服务器/客户端的协议以及 MyISAM 表通常有一个 16M 每通信包/表行的限制,你仍然不能使用这个类型的整个范围 。查看章节6.2.3.2BLOB和TEXT类型 。ENUM('value1','value2',...)一个枚举类型 。一个仅能有一个值的字符串对象,这个值选自值列'value1'、'value2'、...、NULL或特殊的""出错值 。一个ENUM列可以有最大 65535 不同的值 。查看章节6.2.3.3ENUM类型 。SET('value1','value2',...)一个集合 。一个能有零个或更多个值的字符串对象,其中每个值必须选自值列'value1'、'value2'、... 。一个SET列可以有最大 64 个成员 。查看章节6.2.3.4SET类型 。
MySQL 支持所有的 ANSI/ISO SQL92 数字类型 。这些类型包括准确数字的数据类型(NUMERIC、DECIMAL、INTEGER和SMALLINT),也包括近似数字的数据类型(FLOAT、REAL和DOUBLE PRECISION) 。关键词INT是INTEGER的同义词,关键词DEC是DECIMAL的同义词 。
NUMERIC和DECIMAL类型被 MySQL 以同样的类型实现 , 这在 SQL92 标准中是允许的 。他们用于保存对准确精度有重要要求的值,例如与金钱有关的数据 。当以它们中的之一声明一个列时,精度和数值范围可以(通常是)被指定;例如:
salary DECIMAL(5,2)
在这个例子中,5(精度(precision)) 代表重要的十进制数字的数目,2(数据范围(scale)) 代表在小数点后的数字位数 。在这种情况下,因此,salary列可以存储的值范围是从-99.99到99.99 。(实际上 MySQL 在这个列中可以存储的数值可以一直到999.99,因为它没有存储正数的符号) 。
译者注:
M 与D 对DECIMAL(M, D) 取值范围的影响
类型说明 取值范围(MySQL3.23) 取值范围(MySQL = 3.23)
DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9
DECIMAL(5, 1) -99.9 到 999.9 -9999.9 到 99999.9

推荐阅读