我的MYSQL学习心得(2) :数据类型宽度

转自:http://mp.weixin.qq.com/s?__biz=MzA5ODM5MDU3MA==&mid=208503090&idx=1&sn=f146ed2b643988f3b6a7487feaf2caa2&key=c468684b929d2be2f75c32929a8cd853b6bc2c6ef6ab127aa14dbcfa5f6b553b136eee8d496d8354abdc356d944062ed&ascene=0&uin=MjQ4MDMyMzQyMg%3D%3D&devicetype=iMac+MacBookPro11%2C1+OSX+OSX+10.10.3+build(14D136)&version=11020012&pass_ticket=BE33sB4tFEx4FD33DB6S2vEoYBA8XxEEiYTVoyFEvaG6sZ8KAZgjJluN55Q9NUqm


显示宽度


MYSQL中的整数型数据类型都可以指定显示宽度,而SQLSERVER不行



创建一个表


CREATE TABLE tb_emp( id BIGINT(1))


id字段的数据类型为BIGINT(1),注意到后面的数字1,这表示的是该数据类型指定的显示宽度,指定能够显示的数值中数字的个数。


例如,假设声明一个INT类型的字段 YEAR INT(4)


该声明指明,在year字段中的数据一般只显示4位数字的宽度。


在SQLSERVER里是会报错的


CREATE  TABLE  abc
(id  INT (11))


消息 2716,级别 16,状态 1,第 1 行
第 1 个列、参数或变量: 不能对数据类型  int  指定列宽。


显示宽度和数据类型的取值范围是无关的。显示宽度只是指明MYSQL最大可能显示的数字个数,数值的位数小于指定的宽度时会有空格填充


如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能显示出来。


例如,向year字段插入一个数值19999,当使用select查询的时候,MYSQL显示的将是完整带有5位数字的19999,而不是4位数字的值


如果不指定显示宽度,则MYSQL为每一种类型指定默认的宽度值


tips:显示宽度只用于显示,并不能限制取值范围和占用空间,例如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是INT整型所允许的最大值。



出处:桦仔
链接:
http://www.cnblogs.com/lyhabc/p/3696629.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值