字段类型:mysql中int(3)与int(11)有什么区别吗?优化数据库字段占据磁盘的大小
2023-09-14 09:14:45 时间
案例
int(M)
注意:这里的M代表的并不是存储在数据库中的具体的长度
,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的。
其实当我们在选择使用int的类型的时候,不论是int(3)还是int(11),它在数据库里面存储的都是4个字节的长度,在使用int(3)的时候如果你输入的是10,会默认给你存储位010,也就是说这个3代表的是默认的一个长度,当你不足3位时,会帮你不全,当你超过3位时,就没有任何的影响,不会报错
。varchar(4)如果你输入5个汉字就会报错,只有int类似的多出位数不会报错,比如double,varchar都会报错
mysql一个char类型能存多少汉字?
首先要明白CHAR(M)到底是什么意思,
CHAR(M)中M指的是字符长度,一个汉字也是只占用了一个字符。CHAR(255)应该至多也能储存255个汉字。
既然是固定占4个字节,那么Int(1),int(2)在存储空间上就差别不大。唯一的区别在于当你设置zerofill才能显现,他会用0补足显示宽度:
声明字段是int类型的那一刻起,int就是占四个字节,不会以为你的M的大小而影响存储在数据库中的具体长度
,一个字节8位,也就是4*8=32,可以表示的数字个数是2的32次方(2^32 = 4 294 967 296个数字)。
前天问我 int(10)与int(11)有什么区别,当时觉得就是长度的区别吧,现在看,他们之间除了在存储的时候稍微有点区别外,在我们使用的时候是没有任何区别的。int(10)也可以代表4 294 967 296这个值int(11)也可以代表。
数值类型
日期和时间类型
字符串类型
相关文章
- mysql数据库数据同步/主从复制的配置方法
- 优化MySQL数据库性能的八大方法
- MYSQL数据库优化
- 第二百八十九节,MySQL数据库-ORM之sqlalchemy模块操作数据库
- 数据库分享一: MySQL的Innodb缓存相关优化
- mysql数据库架构设计与优化
- 面向对语法读取mysql数据库数据例:$db->query($sql)、$result->fetch_array()
- 更改MYSQL数据库不区分大小写
- python操作MySQL数据库
- mysql数据库架构设计与优化
- MySQL数据库优化的八种方式(经典必看)
- MySQL优化详解(二)——数据库架构和使用优化
- MySQL数据库的集群方案--读写分离(主从复制)高可用架构
- MYsql 数据库密码忘记(Window)-2(mysql 5.7)
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
- MySQL数据库加密和解密~认证登陆密码(mysql.user)和MySQL不区分大小写
- MySQL面试题 数据库设计三范式
- 〖Python 数据库开发实战 - Python与MySQL交互篇④〗- 数据库连接池技术
- Mysql连接报错:1130-host ... is not allowed to connect to this MySql server如何处理
- Python:mysql-connector-python模块对MySQL数据库进行增删改查
- 详解MySQL information_schema数据库常用的表信息以及各表对应的字段信息;以及如何登录mysql和创建视图
- 107.第十九章 MySQL数据库 -- MySQL高可用 MHA(十七)
- MySql数据库的优化(二) MySql中is NULL、ISNULL()和IFNULL()运行速度的比较
- mysql 数据库 分表后 怎么进行分页查询?Mysql分库分表方案?
- Mysql报错:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- MySQL远程连接报错2003-cant connection to mysql server on ‘IP’(10061 unknown error)