MySQL各类数据类型的最大长度与范围限制
在MySQL中,每种数据类型都有自己的最大长度限制,首先要了解一下各种字符咱用的空间。
UTF-8 : 一个英文/数字字符占1个字节,一个中文(含繁体)字符占3个字节。
Unicode: 一个英文/数字字符占2个字节,一个中文(含繁体)字符占2个字节。
标点符号: 英文标点占1个字节,中文标点占2个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
MySQL对应不同的数据类型都有最大长度与范围限制,当存储的数据超出上述限制时,应选择更大的数据类型,以免造成数据溢出和损失。MySQL中不同的数据类型有不同的最大长度限制,主要如下:
1、字符型
char(n):最大长度为255个字符
varchar(n):最大长度为65535个字符(受字符编码影响)
tinytext:最大长度为255个字符
text:最大长度为65535个字符(5.5.3之前),或21844字符(5.5.3之后,utf8mb4编码)
mediumtext:最大长度为16777215个字符
longtext:最大长度为4294967295个字符
2、数值型
tinyint: 1字节,范围-128~127
smallint: 2字节,范围-32768~32767
mediumint: 3字节,范围-8388608~8388607
int/integer: 4字节,范围-2147483648~2147483647
bigint: 8字节,范围-9223372036854775808~9223372036854775807
3、日期时间型
date: 3字节,范围’1000-01-01’到’9999-12-31’
time: 3字节,范围’-838:59:59’到’838:59:59’
year: 1字节,范围1901到2155
datetime: 8字节,范围’1000-01-01 00:00:00’到’9999-12-31 23:59:59’
4、浮点数型
float(n):4字节,n代表数字位数,总位数不超过24
double(n):8字节,n代表数字位数,总位数不超过53
decimal(m,d):m+2字节,m代表整数位数,d代表小数位数,总位数不超过65
另外需要科普一下常用的char、varchar字符类型的长度的区别:
char:固定长度,最大长度是255字符。适合用在身份证号码、手机号码等定、等长的加密密码等。
varchar:可变长度,最大长度65535字节,其实最多只能存储65532个字节,还有3个字节用于存储长度。
1、char的存取速度优于varchar
2、char(20)表示这个字段最多存20个字符,如果只存了16个字符,那么也会占用20个字符的空间
3、varchar(20)表示这个字段最多存20个字符,如果只存了16个字符,那么只占用16个字符的空间
4、即使使用Varchar数据类型,也不能够太过于慷慨!比如你只使用到90个字符,VARCHAR(100)与VARCHAR(200),虽然他们用来存储90个字符的数据,其存储空间相同。但是对于内存的消耗是不同的。
- 企业OA系统开发一般需要多久?开发费用怎样?
- PHP中mysqli_select_db与mysqli_query函数的用法举例
- Flash已退出历史舞台,未来Web端3D的内容会怎样发展?
- PHP8出来也已经有一段时间了 说说PHP8的新特性
- CSS @media print控制浏览器web打印样式
- JavaScript 比较变量相等的奇怪现象 记录一下
- div设置为height:100%不起作用,无法占满整个屏幕的解决办法
- PHP判断网站的访问来源是否是蜘蛛
- php将一个包含父子关系的扁平化数组转换成树形菜单
- 微软推出 VS Code for the Web 无需在 PC 上进行安装 打开浏览器就可以开始工作

