mysql 64位整型_mysql整型int的范围与最大值介绍

在设计表的时候,比如性别。我们可以用0和1来代表性别。0是女,1是男。那么就比使用char节省空间,

本文介绍下int属性这个代表显示宽度

整数列的显示宽度与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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值