mysql int范围与最大值分析
发布时间:2012-03-26 18:24:00
这个代表显示宽度
整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
int是整型,(11)是指显示字符的长度,但要加参数的,最大为255,比如它是记录行数的id,插入10笔资料,它就显示00000000001 ~~~00000000010,当字符的位数超过11,它也只显示11位,如果你没有加那个让它未满11位就前面加0的参数,它不会在前面加0
声明整型数据列时,我们可以为它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。显示宽度只用于显示,并不能限制取值范围和占用空间,如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是INT整型所允许的最大值。
MySQL有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。它们之间的区别是取值范围不同,存储空间也各不相同。
在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。
int范围
Type Bytes Minimum Value Maximum Value
(Signed/Unsigned) (Signed/Unsigned)
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
下面为官网的说明
代码如下 复制代码
Be careful when considering ENUM('T','F') as "true binary".
Example:
CREATE TABLE `bits` (
`val` ENUM('T','F') NOT NULL
);
mysql> INSERT INTO `bits` (`val`) VALUES ('W'), ('T'), ('F');
Query OK, 3 rows affected, 1 warning (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 1
mysql> SHOW WARNINGS;
+---------+------+------------------------------------------+| Level | Code | Message |+---------+------+------------------------------------------+| Warning | 1265 | Data truncated for column 'val' at row 1 |+---------+------+------------------------------------------+1 row in set (0.00 sec)
mysql> SELECT COUNT(DISTINCT val) FROM bits;
+---------------------+| COUNT(DISTINCT val) |+---------------------+| 3 |+---------------------+1 row in set (0.00 sec)
Well, shouldn't a binary type have only two distinct values?
(Note that it isn't NULL.)
Explanation from manual (10.4.4. The ENUM Type):
-----
If you insert an invalid value into an ENUM (that is, a string not present in the list of permitted values), the empty string is inserted instead as a special error value. This string can be distinguished from a “normal” empty string by the fact that this string has the numeric value 0. More about this later


猜你喜欢
- 今天,在完成一个小的python习题,习题的主要内容是读取一个帮助模块,并保存到本地文件。知道是用pydoc进行模块的读取,但是在windo
- 深度学习这个词指的是训练神经网络。深代表着非常大的神经网络。那么神经网络到底是什么呢?看了这篇文章后你就会有很直观的认识了。我们从一个房价预
- 1. 匿名函数匿名函数(anonymous function)是指未与任何标识符绑定的函数,多用在functional programmin
- 到现在为止,你只学习了如何根据特定的条件从表中取出一条或多条记录。但是,假如你想对一个表中的记录进行数据统计。例如,如果你想统计存储在表中的
- 作为一个学完Python基础知识的测试,暗喜终于可以像RD们自己写脚本处理任何场景吧,如何优雅地写出来代码,接下来开启进阶版的Python。
- 在做数据库修改或删除操作中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库。本篇文章主要讲述Navicat for
- 一、前言之前做了一个算法作业,叫做棋盘覆盖,本来需要用c语言来编写的,但是因为我的c语言是半桶水(哈哈),所以索性就把网上的c语言写法改成J
- zy3287 问:<script src="js.js?id=999" type="text/javas
- ADB是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。ADB主要功能有:
- vue实现一个分页组件vue-paginaitonvue使用了一段时间的感触就是,我再也不想直接操作DOM了。数据绑定式的编程体验真是好。实
- 本节内容学习帮助大家梳理神经网络训练的架构。一般我们训练神经网络有以下步骤:导入库设置训练参数的初始值导入数据集并制作数据集定义神经网络架构
- 图片人脸识别import cv2filepath = "img/xingye-1.png"img = cv2.imrea
- Python3实现旋转数组的3种算法下面是Python3实现的旋转数组的3种算法。一、题目给定一个数组,将数组中的元素向右移动 k 个位置,
- 一、作业回顾1、格式化输出与%百分号以下结果中,可以正常输出“50%及格”语句是(B)A、print
- 这篇文章主要介绍了Python Lambda函数使用总结详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- Javascript 中将多个语句写成一个语句的两种方法小结一、使用逗号运算符将多个语句写成一个语句 1.一次声明多个变量&nb
- 相信玩过爬虫的朋友都知道selenium,一个自动化测试的神器工具。写个Python自动化脚本解放双手基本上是常规的操作了,爬虫爬不了的,就
- 本文实例讲述了Go语言结构体定义和使用方法。分享给大家供大家参考。具体分析如下:一个结构体(struct)就是一个字段的集合。(而 type
- YEAR() 函数返回一个整数值,它表示指定日期的年份,一般使用为:Year(时间),如:YEAR('2023-03-14
- 前言提到太阳系,大家可能会想到哥白尼和他的日心说,或是捍卫、发展日心说的斗士布鲁诺,他们像一缕光一样照亮了那个时代的夜空,对历史感兴趣的小伙