MySQL数据库列的类型—整数类型

整数类型:整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种数据类型。MySQL数据库除了支持这两种数据类型以外,还扩展支持TINYINT、MEDIUMINT和BIGINT。下表从不同整数类型的字节数、取值范围等方面进行对比。

整数类型的附带属性:

(1)类型名称后面的小括号:指定显示宽度(并不是该类型占用的字节数)。如果不显示指定的宽度则默认为tinyint(3)、smallint(5)、mediumint(8)、int(11)和bigint(20)。一般配合zerofill使用,顾名思义,zerofill就是用"0"填充的意思,也就是在数字位数不够的空间用字符"0"填空(和C语言中%xd一样的作用)。

我们首先创建表令int类型的宽度为8并用0来填充,其次再插入数据,最后显示00001001正好是8位。

(2)UNSIGNED(无符号)如果需要在字段里面保存非负数或者需要较大的上限值时,可以用此选项,它的取值范围是正常值的下限取0,上限取原值的2倍,例如int有符号的范围是-2147483648~+2147483647,而无符号的范围是0~4294967295。如果一个列指定为zerofill,则MySQL自动为该列添加属性UNSIGNED属性。

上例中表class1中已为列指定为zerofill,则一定不能添加负数了

 如果添加就会添加失败。

下面我们创建属性为unsigned的表来验证。

 class2表中我们创建了unsigned属性,因此int的范围变为0~4294967295,则会添加成功。

(3)AUTO_INCREMENT在需要产生位移标识符或顺序值时,可利用此属性,这个属性只用于整数类型。AUTO_INCREMENT值一般从1开始,每行增加1。一个表中最多只能有一个AUTO_INCREMENT列。对于任何想要使用AUTO_INCREMENT的列,应该定义为NOTNULL,并定义为PRIMARY KEY或定义为UNIQUE键。

 此时我们创建表class3第一次只对name进行赋值,则会发现id自动变为了1,其次我们再连续添加两组数据:

添加第一组数据时令id为10,添加第二组数据我们只为name进行赋值则会发现他的id为11,由此我们推断出是根据大的id值自动+1。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长天一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值