mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度
存储宽度 是实际存储记录宽度
存储宽度默认是写死的,就算修改宽度也改变不了,改变的是显示宽度
============有符号和无符号int=============
创建一个 无符号的 int 整数类型
mysql> create table t3(id int(1) unsigned);
Query OK,0 rows affected (0.01sec)
mysql> desct3;+-------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------------+------+-----+---------+-------+
| id | int(1) unsigned | YES | | NULL | |
+-------+-----------------+------+-----+---------+-------+
1 row in set (0.00 sec)
mysql> insert into t3 values(25555555);
Query OK,1 row affected (0.00sec)
mysql> select * fromt3;+----------+
| id |
+----------+
| 25555555 |
+----------+
1 row in set (0.00sec)
整数类型 最大 4个字节存储
无符号int类型 最大 这个数 4294967295 无符号范围0-4294967295
mysql> insert into t3 values(25555555555555555555555555555555555);
Query OK,1 row affected, 2 warnings (0.00sec)
mysql> select * fromt3;+------------+
| id |
+------------+
| 25555555 |
| 4294967295 |
+------------+
2 rows in set (0.00 sec)
自己定义宽度的 int(1) 没有限制现在存储 ,因为mysql 不管是 tinyint 、int、bigint 整数类型 都不用设置宽度的
整数类型的那个设置宽度 不是存储宽度,而是显示宽度
对于tinyint、int、bigint的存储宽度 mysql已经固定死了,例如用tinyint mysql只用1个字节
int用4个字节、bigint8个字节,能改变的只有显示宽度
显示宽度设置5,int 最大存储宽度是4个字节
mysql> create table t4(id int(5) unsigned);
Query OK,0 rows affected (0.01sec)
mysql>show tables;+---------------+
| Tables_in_db4 |
+---------------+
| t1 |
| t2 |
| t3 |
| t4 |
+---------------+
4 rows in set (0.00sec)mysql> desc t4;
+-------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------------+------+-----+---------+-------+
| id | int(5) unsigned | YES | | NULL | |
+-------+-----------------+------+-----+---------+-------+
1 row in set (0.00 sec)mysql> insert into t4 values(1),(255);
Query OK,2 rows affected (0.01sec)
Records:2 Duplicates: 0 Warnings: 0mysql> select * fromt4;+------+
| id |
+------+
| 1 |
| 255 |
+------+
2 rows in set (0.00 sec)
显示宽度 是查询表的时候,显示的结果的宽度
======用zerofill测试整数类型的显示宽度=============
再创建一张表t5 加上zerofill用0填充,加上这个可以看到显示宽度意思
mysql> create table t5(id int(5) zerofill);
Query OK,0 rows affected (0.01sec)
mysql> insert into t5 values(1),(2);
Query OK,2 rows affected (0.00sec)
Records:2 Duplicates: 0 Warnings: 0mysql>mysql> select * fromt5;+-------+
| id |
+-------+
| 00001 |
| 00002 |
+-------+
2 rows in set (0.00 sec)
如果插入的记录的宽度 超过设置的显示宽度,他会正常显示
mysql> insert into t5 values(111111111111111111111111111111111111111111);
Query OK,1 row affected, 2 warnings (0.00sec)
mysql> select * fromt5;+------------+
| id |
+------------+
| 00001 |
| 00002 |
| 4294967295 |
+------------+
3 rows in set (0.00 sec)
这个是显示宽度
不设置宽度时候
mysql> create table t6(id intunsigned);
Query OK,0 rows affected (0.01sec)
mysql> desct6;+-------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+-------+
| id | int(10) unsigned | YES | | NULL | |
+-------+------------------+------+-----+---------+-------+
1 row in set (0.00 sec)
无符号int整数类型默认宽度是10字节,有符号int整数类型默认宽度是11字节
默认不加任何东西就是 有符号int整数类型
mysql> create table t7(id int);
Query OK,0 rows affected (0.02sec)
mysql> desct7;+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
注意:为该类型指定宽度时,仅仅只是指定查询结果的显示宽度,与存储范围无关,存储范围如下
其实我们完全没必要为整数类型指定宽度,使用默认的就可以了
默认的显示宽度,都是在最大值的基础上加1
对于整数类型 没有必要设置宽度 设置的宽度是显示宽度,对于其他类型来说设置的宽度是 存储宽度
int的存储宽度是4个Bytes,即32个bit,即2**32
无符号最大值为:4294967296-1
有符号最大值:2147483648-1
有符号和无符号的最大数字需要的显示宽度均为10,而针对有符号的最小值则需要11位才能显示完全,所以int类型默认的显示宽度为11是非常合理的
最后:整形类型,其实没有必要指定显示宽度,使用默认的就ok
mysql int 最大显示宽度_mysql int 整数类型 解释显示宽度 和 存储宽度相关推荐
- mysql 不指定 长度吗_mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?...
原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...
- mysql int后面的数字_mysql中整数类型后面的数字,比如int(11),11代表11个字节吗?...
原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...
- mysql int类型需要指定长度_mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?...
原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...
- mysql 数字占几个字节_mysql中整数类型后面的数字,比如int(11),11代表11个字节吗?...
原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...
- 整数类型及整数类型的显示转换
整数类型:byte short int 和 long byte:变量表示范围为-128~127 在内存中占据1个字节(8位) short:变量表示范围为-32 768~32 767 在内存中占据2个字 ...
- mysql 联合主键优缺点_mysql索引的类型和优缺点
mysql索引的类型和优缺点 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针. 注:[1]索引不是万能的!索引可以加快数据检索操作,但 ...
- mysql常规索引有哪些_mysql常见索引类型有哪些
mysql常见索引类型有:1.FULLTEXT:2.HASH:3.BTREE:4.RTREE.FULLTEXT为全文索引,目前只有MyISAM引擎支持.HASH索引可以一次定位,因此具有极高的效率. ...
- mysql查询结果百分比表示_MySQL 查询结果以百分比显示简单实现
用到了MySQL字符串处理中的两个函数concat()和left()实现查询结果以百分比显示,具体示例代码如下,感兴趣的朋友可以学习下 找了一些资料,然后我是用到了MySQL字符串处理中的两个函数co ...
- mysql timestamp 晚8小时_mysql插入timeStamp类型数据时间相差8小时的解决办法
以管理员身份登陆mysql 执行以下语句 mysql > SET time_zone = '+8:00'; # 此为北京时,我们所在东8区 mysql> flush privilege ...
最新文章
- dfasdfasdfas
- 10分钟掌握RocketMQ的核心知识
- Groovy学习()面向Java开发者的Groovy
- Python 使用穷举法求两个数的最大公约数。
- wxWidgets:wxRichTextCtrl类用法
- MapReduce实例(数据去重)
- 关于爬虫的一些工具。
- weblogic启动失败案例(root启动引起的权限问题)
- OpenDrive记录
- 手把手教你制作easyUI+bootstrap工作站,主要学习tabs方法
- SQL数据库“单个用户”不能访问,设置为多个用户的解决方法
- 【日常】《中国统计年鉴》与《中国金融年鉴》数据表爬虫(附1985-2020所有Excel资源)
- 国外苹果id_爆料者称苹果仍在继续研发iPhone屏下Touch ID
- 一步一步搭建前端监控系统:如何记录用户行为?
- mysql下载速度慢怎么办
- Eclipse中新建Maven项目,解决丢失src/main/java文件问题
- python调用高德api_python 高德api接口
- 重启防火墙(iptables)命令#service iptable restart失效
- android 仿飞猪日历,vue 日期选择 类似飞猪
- 计算机小学生感兴趣的知识,计算机是 什 么-给小学生讲计算机知识.ppt
热门文章
- 关于域名解析到服务器的问题
- linux脚本判断流程控制,Shell 脚本-6- 流程控制之判断分支
- 安装mysql的过程可以中断吗_安装 mysql 遇到的坑(附 mysql 安装过程)
- python通过指定网卡发包_windows下用UDP 广播在特定网卡上发包
- android原生webview,Android 原生与WebView JS的交互
- c语言switch中用ifelse,初学者求问:用if单分支选择语句替换switch语句?if.else呢...
- PAT_B_1050_C++(20分)
- 堡垒之夜服务器维修,堡垒之夜常见问题解决方法
- php查找txt文件是否有,php怎么查询txt文件是否存在
- 两个pdf怎么打开成两个窗口_如何将图片合并成PDF?教你两个免费方法