本文Mysql的版本为当前最新的:Server version: 8.0.30 MySQL Community Server - GPL
对于Mysql中对整数类型的支持说明如下:
MySQL supports the SQL standard integer types INTEGER (or INT) and SMALLINT. As an extension to the standard,
MySQL also supports the integer types TINYINT, MEDIUMINT, and BIGINT. The following table shows the required storage and range for each integer type.
因此Mysql支持5种类型用来表示整型数字,分别用1,2,3,4,8 个字节来表示
tinyint smallint mediumint int bigint
表示的范围如下图所示:

对于上面的整数类型,创建表时,不特殊声明,默认就是有符号类型的,即同时支持 负数,0,正数
对于无符号的整数类型,创建时,需要在类型后,加上unsigned进行特别声明,如下:
mysql> create table integer_demo ( -> a int, -> b int unsigned -> ); Query OK, 0 rows affected (0.02 sec)
这样integer_demo表的b字段,就只能存储规定范围内的自然数了,不能存储负数
另外,笔者曾查询过,对于负数的存储原理,是取负数的绝对值的原码,再取其反码,最后再+1得到补码进行存储,因此tinyint 有符号类型,最小的为-128
因此如-128在数据库的存储为 1000 0000, -1的存储为1111 1111 ,可以知道负数的最高位为始终为1
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/16929644.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号