首页 > MySQL > MySQL 那些你不知道的 数据类型 数值类型
2009四月7

MySQL 那些你不知道的 数据类型 数值类型

首先声明一下,MySQL,那些你不知道的系统教程主要参考《MySQL完全手册》。写此文主要是为了让自己不太好用的脑袋瓜子可以更加注意这些细节,因为最短的板决定你的成长程度。

INT类型,使用一个宽度指示器不会影响字段的大小和它可以在存储的值的范围。

万一我们试图对一个特别的字段存储一个超出允许范围的数字,MySQL会根据允许范围最接近它的一端截短它,然后在存储截短后的值。

CREATE TABLE data (id TINYINT );
INSERT INTO data VALUES (123456789);
SELECT id FROM data;

因为TINYINT的存储范围是(-128,127),所以查询结果为127。

而且,MySQL会将不合规定的值在插入表之前自动改为0。

UNSIGNED修饰符规定字段只保存正的值,它可以增大这个字段支持的值的范围。
ZEROFILL修饰符规定0(不是空格)可以用于填补输出值。

FLOAT,DOUBLE和DECIMAL类型:对于小数点后面的数字个数超过了允许的数目的值,系统会自动将其四舍五入为最接近它的值,然后插入它。

CREATE TABLE data (speed FLOAT(3,1));
INSERT INTO data VALUES(123.765);
SELECT speed FROM data;

其查询结果为123.8这就是四舍五入的结果。因为人家规定小数点后只能有一个数值你却给传进去三个,人家能帮你存进去已经很不错了,就不要为难人家了哈。 :wink:

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/04/07/76/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

本文目前尚无任何评论.

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)