跳到主要内容
PHP

mysql整形类型 bigint int mediumint smallint tinyint

管

管理员

https://www.cnblogs.com/wulw829/p/11325285.html

2020年02月17日 2,457 次阅读
本页目录
MySQL的整型类型有这样几种:
  类型 存储空间 M默认值(显示宽度) 数据大小(无符号:unsigned) 描述
1 tinyint(M) 1 tinyint(4) 有符号的范围:-128 到 127,无符号的范围: 0 到 255 的整型数据。 一个极小整数。
2 smallint(M) 2 smallint(6) 有符号的范围:-2^15 (-32,768) 到 2^15-1 (32,767) 的整型数据,无符号的范围:-32768 到 32767 【3万左右】 一个小整数。
3 mediumint(M) 3 mediumint(9) 有符号的范围:-8388608到8388607,无符号的范围:0到16777215的整型数据。【1600万左右】 一个中等大小整数。
4 int(M) 4 int(11) -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 的整型数据。【21亿左右】 一个正常大小整数。
5 bigint(M) 8 bigint(20) -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据。【远大于21亿左右】 一个略大整数
  数据大小排序 bigint(M) > int(M) > mediumint(M) > smallint(M) > tinyint(M)

存储空间:存储需要占用多少字节(占用字节 btyes)。
M:表示最大显示宽度,建表若设置 zerofill (0填充),会在数字前面补充0。若没有设置0填充,那么直接显示,不会影响存储空间大小,没用上就没用上,省下了。
举例说明:
  存储数字 存储空间 实际显示宽度 实际显示
tinyint(3) 33 1 3 033
tinyint(10) 33 1 10 0000000033
bigint(10) 666 8 10 0000000666
bigint(20) 666 8 20 00000000000000000666

 
如果还不懂,可看下面解释:
mysql bigint(20)中20指的是:该字段下能输出显示的最大数字长度。
括号里的数字叫数据的宽度,不同的数据类型对宽度的处理也不一样:
1、整数类型:这里显示的宽度和数据类型的取值范围是没有任何关系的,显示宽度只是指明Mysql最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充;
如果插入了大于显示宽度的值,只要该值不超过该类型的取值范围,数值依然可以插入,而且能够显示出来。
如果你不设置宽度,系统将添加默认的宽度tinyint(4)、smallint(6)、mediumint(9)、int(11)、bigint(20),这些默认的宽度是跟该类型的取值范围长度相关。
2、字符串类型:字符串类型这个宽度才真的用上了。不管是char还是varchar,宽度都定义了字符串的最大长度;例如上面的 password varchar(20),如果你输入了一个21个字符的密码,那么保存和显示的只会是前20个字符,你将丢失一个字符信息,char同理。由于varchar是变长存储的,所以实际开发中我们一般都把varchar的宽度设为最长255,它会根据实际数据长度变化,反正你没用完它也不会浪费空间。char是定长存储,定义多长就是多长。
3、浮点和日期等数据类型:对数据的宽度没有要求,一般也不设置,默认是0。

Related

相关文章

同分类文章 →
2026年07月11日 PHP

laravel什么样的方法适合放在模型中?什么适合用专门的服务类? cachedFavIds适合放在模型中吗?

一、适合放在模型中的方法Laravel 采用 ActiveRecord 风格,模型本身就是"数据 + 围绕该数据的操作"的载体。以下几类方法适合放模型: 关联关系:belongsTo、morphTo、hasMany 等。如 UserFav::userfavable()、UserFav::us

2026年04月13日 PHP

Vue3 静态文件放在同域名 Laravel 项目下

核心思路是:Vue3 构建后的静态文件放到 Laravel 的 public/ 目录下,通过 Laravel 路由的 catch-all 机制让 SPA 的前端路由正常工作。方案说明以 xx.com/admin 为例,整体架构如下:请求流程:xx.com/admin/* → Laravel

2025年08月18日 PHP

Laravel Eloquent 中可以通过静态方式调用的方法

在 Laravel Eloquent 中,可以通过静态方式调用的方法包括:1. 查询作用域 (Scopes)// 可以静态调用UserComment::active()->get();UserComment::where('status', 1)->first();2. Eloquent 内置的查询方法UserComment::fi

WeChat

扫码加我微信

微信二维码