mysql数据类型-数值型


mysql的数值型分为数据整形和浮点型

整形数据包括以下

tinyint    1字节 -128~127/0~255

smallint  2字节 大~大

mediumint 3字节 比较大~比较大

int 4字节 很大~很大

bigint 8字节 非常大~非常大 ^_^


tinyint/smallint/mediumint/int/bigint类比为 *

定义整形数据的格式为:*(n)

其中n为显示的长度

什么是显示的长度呢?

当定义的整形用zerofill修饰,且输入的整形数据长度达不到n时,数据前将用0补齐n位。

这个定义仅对显示有效,而且好像只有mysql的client能够这么显示,我的navicat就不显示。展示如下:

表定义语句;

CREATE TABLE `type_test` (
  `datetimedatetime` datetime DEFAULT NULL,
  `datedate` date DEFAULT NULL,
  `deci` decimal(5,2) DEFAULT NULL,
  `timetime` time DEFAULT NULL,
  `timestamptimestamp` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `d` double(5,2) DEFAULT NULL,
  `yearyear` year(4) DEFAULT NULL,
  `f` float(5,3) DEFAULT NULL,
  `bint` bigint(30) unsigned zerofill DEFAULT NULL,
  `iint` int(20) unsigned zerofill DEFAULT NULL,
  `mint_noUnsigned` mediumint(10) DEFAULT NULL,
  `mint` mediumint(20) DEFAULT NULL,
  `sint_noUnsigned` smallint(3) unsigned DEFAULT NULL,
  `sint` smallint(5) DEFAULT NULL,
  `tint` tinyint(5) unsigned zerofill DEFAULT NULL,
  `tint_noUnsigned` tinyint(5) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

navicate展示:




mysql-client展示:




有图有真相。


另外,zerofill必须和unsigned(无符号)连用,原因你就想吧。^_^


浮点包括float、double和decimal

通整形数,float/double/decimal类别%

定义形如:%(m,n)

m:精度,即浮点数的总长度,不带小数点

n:标度,小数位数

理解的float、double和decimal就是表示小数的,而且float和double可能还有准确性的问题,建议用decimal,不过decimal的开销会大。

再详细的还需要深入研究。。

可以参考:

点击打开链接










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值