我是靠谱客的博主 神勇绿茶,最近开发中收集的这篇文章主要介绍mysql中 signed 与 unsigned  详解mysql中 有符号(signed), 无符号(unsigned )与 零填充(zerofill) 详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

mysql中 有符号(signed), 无符号(unsigned )与 零填充(zerofill) 详解

   三者区别

unsigned 是mysql自定义的类型,表示无符号数值即非负数。signed为整型默认属性。

区别1:起到约束数值的作用。

区别2:可以增加数值范围。

以tinyint为例,它的取值范围-128-127,加不加signed都默认此范围。加上unsigned表示范围0-255,其实相当于把负数那部分加到正数上。例如身高、体重或者年龄等字段一般不会为负数,此时就可以设置一个 UNSIGNED ,不允许负数插入。

      zerofill零填充会自动使用无符号位。零填充指的是位数固定,如果数值长度不足字段类型的长度,则使用0来填充。比如zerofill 的int数值,设为123,数据库中会显示0000000123;

   应用场景

mysql中数值有:五种整型(tinyint、smallint、mediumint、integer和bigint),三种浮点型(float、double和decimal)。整型数值可定义为unsigned,使列的取值为0及以上范围。

但是浮点类型不能使用unsigned,其取值范围也与整型不同。以int和float为例:两者都是4个字节,32位。

整型 int =1个符号位+31个指数位,取值范围为2^-31——2^31-1。

但是浮点型float =1个符号位+8个指数位+23个尾数位,取值采用的是IEEE 754标准,具体的规则这里不做介绍了。

最后

以上就是神勇绿茶为你收集整理的mysql中 signed 与 unsigned  详解mysql中 有符号(signed), 无符号(unsigned )与 零填充(zerofill) 详解的全部内容,希望文章能够帮你解决mysql中 signed 与 unsigned  详解mysql中 有符号(signed), 无符号(unsigned )与 零填充(zerofill) 详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部