数据库中INT类型概述
文章目录
- 一. 背景
- 二. INT类型的总结
- 1. 概述
- 2. 详述
- 2.1 bit[M]
- 2.2 TINYINT([M])[unsigned][zerofill]
- 2.3 SMALLINT([M])[unsigned][zerofill]
- 2.4 MEDIUMINT([M])[unsigned][zerofill]
- 2.5 INT([M])[unsigned][zerofill]
- 2.6 BIGINT([M])[unsigned][zerofill]
- 3. 说明
- 参考资料
一. 背景
- 在设计数据库表的时候,如果字段是数值型,经常会有几个选项(
tinyint [unsigned]
、smallint [unsigned]
、mediumint [unsigned]
、int [unsigned]
、bigint [unsigned]
),但总不知道该使用哪个类型,下面总结了一下。
二. INT类型的总结
1. 概述
数值类型 | 占用字节 | 数据范围 | 无符号数据范围 |
---|---|---|---|
tinyint | 1 | -128~127 | 0~255 |
smallint | 2 | -32768~32767 | 0~65535 |
mediumint | 3 | -8388608~8388607 | 0~16777215 |
int | 4 | -2147483648~2147483647 | 0~4294967295 |
bigint | 8 | -9223372036854775808~9223372036854775807 | 0~18446744073709551615 |
2. 详述
- 说明:1 bytes = 8 bit,因此一个字节最多可以代表的数据长度是2的8次方(11111111),转换为实际值即-128到127。
2.1 bit[M]
- 概述:位字段类型。
- M:表示每个值包含的位数,如bit(2)表示包含2位的一个值。M的范围是[1,64],如果M缺省,默认为1。
2.2 TINYINT([M])[unsigned][zerofill]
- 概述:很小的整数。
- M:默认为4。
- 数值范围
- 带符号的范围:-128到127
- 无符号的范围:0到255
- boolean类型:是TINYINT(1)的同义词。0值被视为假;非0值视为真。
2.3 SMALLINT([M])[unsigned][zerofill]
- 概述:小的整数。
- M:默认为6。
- 数值范围
- 带符号的范围: -32768到32767
- 无符号的范围:0到65535
2.4 MEDIUMINT([M])[unsigned][zerofill]
- 概述:中等大小的整数。
- M:默认为9。
- 数值范围
- 带符号的范围: -8388608到8388607
- 无符号的范围:0到16777215
2.5 INT([M])[unsigned][zerofill]
- 概述:普通大小的整数。
- M:默认为11。
- 数值范围
- 带符号的范围: -2147483648到2147483647
- 无符号的范围:0到4294967295
2.6 BIGINT([M])[unsigned][zerofill]
- 概述:大整数。
- M:默认为20。
- 数值范围
- 带符号的范围: -9223372036854775808到9223372036854775807
- 无符号的范围:0到18446744073709551615
3. 说明
- M的含义:并不是指存储在数据库中的具体长度。只有同时指定了zerofill,M才会发挥作用,即左边用0来填充。
- 示例:tinyint(1)和tinyint(2)的区别
CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `state1` tinyint(1) unsigned zerofill DEFAULT NULL, `state2` tinyint(2) unsigned zerofill DEFAULT NULL, `state3` tinyint(3) unsigned zerofill DEFAULT NULL, `state4` tinyint(4) unsigned zerofill DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 insert into test (state1,state2,state3,state4) values(4,4,4,4);
select * from test;
- 结果
id | state1 | state2 | state3 | state4 |
---|---|---|---|---|
1 | 4 | 04 | 004 | 0004 |
参考资料
- tinyint(1)和tinyint(4)的区别和用法
- mysql中tinyint(1)与tinyint(2)的区别
数据库中INT类型概述相关推荐
- 数据库中int类型存在空数据开发过程中model和dal层处理方法
model层 public Int32? IsFullAttendance { get; set; } dal层 if (dr["IsFullAttendance"] + &qu ...
- 数据库中字段类型对应的C#中的数据类型
数据库中字段类型对应C#中的数据类型: 数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] ...
- MyBatis映射文件如何给数据库的int类型字段“插入”string类型记录
MyBatis映射文件如何给数据库的int类型字段"插入"string类型记录. 数据库中对应字段名称和类型如下: 给数据库的int类型字段"插入"string ...
- golang中int类型切片无需传指针
golang中int类型切片无需传指针就可以改变切片的值 func main() {x := []int{1, 2, 3}func(arr []int) {arr[0] = 7fmt.Println( ...
- java中时间入数据库格式转换_数据库中字段类型为datetime,转换成java中的Date类型...
数据类型对照 点击打开链接 JDBC: PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuer ...
- 使用MyBatis Plus 3.2.0版本插件代码生成器生成实体类后,对于数据库中字段类型datetime的字段会转变为LocalDateTime类型
问题描述: 使用MyBatis Plus 3.2.0版本插件代码生成器生成实体类后,对于数据库中字段类型datetime的字段会转变为LocalDateTime类型,IDEA提示报错"Usa ...
- 关于java中int类型的取值范围等问题
java中int类型取值范围问题 java中int的类型占4个字节,与操作系统无关,要弄明白int的取值范围问题. 首先,我们来看一下byte的取值范围 byte 大小一个字节. 如:1111 111 ...
- python int占用多少字节数_python中int类型占了多少个字节
python中int类型占了多少个字节 发布时间:2020-11-20 14:04:35 来源:亿速云 阅读:73 作者:小新 小编给大家分享一下python中int类型占了多少个字节,相信大部分人都 ...
- Mysql 数据库表中 int 类型的长度
Mysql 我们平时创建一个表对 int 类型习惯设置 int(11) ,不知道你有没有试过设置其他长度有什么影响吗? 下面咱们来实验一下啦. 以下是每个整数类型的存储和范围: 类型 字节 最小值 最 ...
最新文章
- stm32逆向与安全科普,bin文件逆向反汇编
- 机器学习中梯度下降算法的实际应用和技巧
- linux 设置git ip,centos7安装gitlab并更改端口IP地址
- 条件注释判断兼容浏览器版本CSS HACK !--[if !IE]!--[if IE]!--[if lt IE 6]!--[if gte IE 6]...
- 在ASP.NET页面中实现数据饼图(转载)
- apk安装到电视上看不到图标_零基础搭建电视直播APP平台第二弹(修改APP)
- Ansible详解(十一)——Ansible Template高级控制
- GDAL和GeoPandas的安装
- OSPF计算环路:RFC:2328与RFC1583
- PostgreSQL中文手册
- android开发百度地图LocationClient找不到 解决
- 2020-12-31
- 网络训练时使用不同学习率策略(Poly)以及学习率是如何计算
- C语言 生成随机数 srand用法 伪随机函数rand srand需不需要重新播种问题 srand该不该放在循环里
- Mac电脑上Android Studio自带模拟器无法关闭
- 1813 句子相似性 III
- 临时抱佛脚版_移动端适配布局_flex+rem+响应式
- 「涪陵榨菜」使用区块链溯源系统?回应:看榨菜集团的安排
- Vue 实例实战之 Vue webpack 仿去哪儿网App页面开发(应用中的几个页面简单实现)
- 【渝粤题库】陕西师范大学200551 英语语音
热门文章
- 论文阅读:Generation-Augmented Retrieval for Open-Domain Question Answering
- gdb: 疑惑1:info symbol为何可以看到atomicity.h的代码,但是代码里确实没有看到相关的代码
- 数位dp总结 之 从入门到模板
- 【Unity实战】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(二)(附源码)
- webflux + springboot 整合(史上最全)
- 【华为交换机忘记Console密码恢复】
- 转载_我的Debian GNU/Linux安装全流程
- 什么是CI CD? 什么是DevOPS?他们有什么联系和区别?
- 使用Behavior Designer插件简单制作NPC AI
- 使用Servlet和JSP开发Java应用程序 ---- 简单模拟天猫购物页面