- 6
- 0
- 约1.4千字
- 约 2页
- 2021-02-02 发布于广东
- 举报
问题:int(1) 和 tinyint(1) 有什么区别呢?
像这样的设计,反正我是不会写int(1)的。
查了下,mysql 中设置了储存类型后,储存是定长的,也就是说,int(1) 和 int(4) 在
硬盘中所占的字节数都是一样的。
我们知道,int 类型占4 个字节,tinyint 占1 个字节。int(1) 和 int(4) 从本身长度还是
存储方式上都是一样的,区别就是显示的长度不同,但是要设置一个参数:如果列制
定了zerofill 就会用0 填充显示,int(4)指定后就会显示为0002。
int(1)和tinyint(4) 相比,肯定int 大。
注意数字类型后面括号中的数字,不表示长度,表示的是显示宽度,这点与 varchar 、
char 后面的数字含义是不同的。
也就是说不管 int 后面的数字是多少,它存储的范围始终是 -2^31 到 2^31 - 1。
综上整型的数据类型括号内的数字不管是多少,所占的存储空间都是一样
tinyint 一个字节 smallint 两个字节 MEDIUMINT 三个字节
显而易见,int(1) 和 tinyint(1) ,在设计数据库的时候应该选择tinyint(1) 。所占的储
存空间越少越好,当然要够用才行。像这样储存一个 个位数的字段,还是用tinyint(1)
的好。
总结:
1.规定类型之后,存储是定长的,int(1)和int (4 )从本身长度还是存储方式上都是一
样的。mysql 里,int (1)和int(4)的区别就是显示的长度,但是要设置一个参数:如
果列制定了zerofill 就会用0 填充显示,如2 int(3)指定后就会显示为002
1
2.int 存储占4 个字节, tinyint 存储占1 个字节,存储长度决定了他们表示的数字
范围不同。int 表示的数字范围是:从 -2^31 (-2,147,483,648) 到 2^31 – 1
(2,147,483,647) 的整型数据(所有数字)。tinyint 表示的范围是0-255 之间的数字。
3.tinyint(1),和tinyint(3)没什么区别,存123 都能存的下,而如果tinyint(3) zerofill 的
话,插入值 12,会存储012 ,zerofill 自动左边补零,这才是限制显示长度。
上面总结的有点乱。下面精简总结:
tinyint(1) 和 tinyint(3) 没什么区别,占用字节都是一位,存储范围都是一样的
tinyint(3) zerofill ,当插入的数据少于3 位的时候,左边自动补零,这才是限制显示
长度
int(1) 和 tinyint(1) ,够用的情况下,优先选择tinyint(1) ,因为占字节少、节省空间。
tinyint 一个字节 smallint 两个字节 MEDIUMINT 三个字节 int 4 个字
节 BIGINT 8 个字节。
2
您可能关注的文档
- Mplus结构方程模型步骤(入门)整理.pdf
- MRA的常用方法整理.pdf
- MRD(市场需求文档)范本、实例整理.pdf
- MRI增强检查知情同意书整理.pdf
- MRI报告模板 (2)整理.pdf
- MRI报告模板整理.pdf
- MRI检查禁忌症整理.pdf
- Mrs Dalloway 达洛维夫人整理.pdf
- MSA1510i故障诊断整理.pdf
- MSDSPVC聚氯乙烯整理.pdf
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)