1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是

-128到127

1.BIT[M]

位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1

2.TINYINT[(M)] [UNSIGNED] [ZEROFILL]  M默认为4

很小的整数。带符号的范围是-128到127。无符号的范围是0到255。

3. BOOL,BOOLEAN

是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。

4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6

小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。

5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9

中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。

6. INT[(M)] [UNSIGNED] [ZEROFILL]   M默认为11

普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20

大整数。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。

注意:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的。

tinyint(1) 和 tinyint(4) 中的1和4并不表示存储长度,只有字段指定zerofill是有用,

如tinyint(4),如果实际值是2,如果列指定了zerofill,查询结果就是0002,左边用0来填充。

---------------------

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:

char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.

(在检索操作中那些填补出来的空格字符将被去掉)

在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).

在MySQL中用来判断是否需要进行对据列类型转换的规则

1、在一个数据表里,如果每一个数据列的长度都是固定的,那么每一个数据行的长度也将是固定的.

2、只要数据表里有一个数据列的长度的可变的,那么各数据行的长度都是可变的.

3、如果某个数据表里的数据行的长度是可变的,那么,为了节约存储空间,MySQL会把这个数据表里的固定长度类型的数据列转换为相应的可变长度类型.

例外:长度小于4个字符的char数据列不会被转换为varchar类型

转自:http://www.jb51.net/article/31946.htm

mysql smallint int_mysql中int、bigint、smallint 和 tinyint的区别详细介绍相关推荐

  1. mysql bigint 运算_mysql中int、bigint、smallint 和 tinyint的区别详细介绍

    最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容, ...

  2. Mysql中int、bigint、smallint 和 tinyint的区别详细介绍

    下表是各类型信息: 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是-128到127 1. BIT[M] 位字段类型,M表示每个值的位数 ...

  3. mysql varchar int_MySQL中int、char、varchar的性能浅谈

    网络上有许多似是而非的"谣言",当然都不是恶意,绝大部分都是开发者不愿意自己主动研究,反而轻信其他人的信口之言. 关于数据库的谣言也有不少,比如"int性能比char高很 ...

  4. c++ int转unsigned int_mysql中int、bigint、smallint 和 tinyint的区别详细介绍

    1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是 -128到127 1.BIT[M] 位字段类型,M表示每个值的位数,范围从1到64,如 ...

  5. smallint mysql_mysql中int、bigint、smallint 和 tinyint的区别与长度的含义

    最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容, ...

  6. java中的泛型是什么_Java中泛型是什么?Java泛型的详细介绍

    本篇文章给大家带来的内容是关于Java中泛型是什么?Java泛型的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.什么是泛型? Java泛型设计原则:只要在编译时期没有出 ...

  7. mysql smallint int_mysql中tinyint、smallint、int、bigint的区别

    tinyint 从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据.存储大小为 1 个字节. unsigned 是从 0 到 255 的整型数据. 所以建表的时候 只能是tinyi ...

  8. mysql select having_MySQL中SELECT子句WHERE和HAVING的区别

    MySQL中SELECT子句WHERE和HAVING的区别 WHERE子句: 在分组之前使用,表示从所有数据中根据条件筛选出部分数据,以完成分组的要求. 在一个WHERE子句中使用列别名是不允许的,因 ...

  9. idea 配置mysql逆向_IDEA中Mybatis的MGB使用逆向工程配置的详细教程

    添加依赖 添加generatorConfig.xml文件 在maven的plugins中运行mybatis-generator插件 注意事项: (1).generatorConfig.xml文件需要放 ...

最新文章

  1. Redis集群管理方式
  2. P3708-koishi的数学题【差分】
  3. oracle o7参数,Oracle技术之初始化参数O7_DICTIONARY_ACCESSIBILITY
  4. Redis分布式锁问题
  5. 正则表达式 re模块
  6. mysql objectid_MongoDB 的objectid和UUID
  7. 【Notepad】Notepad++常用快捷键总结
  8. 为啥学蛇和python10年后的变化
  9. CSS基础及常用的一些标签
  10. 打印机驱动无法安装到计算机是,打印机驱动无法安装、安装失败、安装不上的解决办法...
  11. (译)快速指南:用UIViewPropertyAnimator做动画
  12. 小众软件:画简洁风格的原型图
  13. 微信h5缓存清理技巧
  14. 51单片机之感应开盖垃圾桶
  15. python判断汉字偏胖_python实现在线分词
  16. 『力扣刷题』5275_找出井字棋的获胜者 解题代码
  17. [python]matplotlib.pyplot模块
  18. IC617 PDK CDB格式转OA格式
  19. 怎么建立软连接和删除软连接、宏定义个声明一年有多少秒、关于自定义函数类型指针
  20. PromptBERT: Improving BERT Sentence Embeddings with Prompts (通篇翻译)

热门文章

  1. vue 动态加载图片路径报错解决方法
  2. 美团酒旅数据治理实践
  3. 【白皮书下载】开源生态白皮书(2020年).pdf(附下载链接)
  4. 【报告分享】2020新中国人才报告:共赢人力资本新生态-哈佛商业评论.pdf(附下载链接)...
  5. 【推荐论文】基于多视角学习和个性化注意力机制的新闻推荐(附论文下载链接)...
  6. anaconda显示ImportError: cannot import name ‘secure_write‘
  7. Linux中更新java代码命令,java代码执行linux命令
  8. mysql 排序字段 添加索引吗_mysql需要在哪些字段上加索引?
  9. Leetcode每日一题:17.letter-combinations-of-a-phone-number(电话号码的字母组合) 0ms通过
  10. pytorch对数据集进行重新采样