知识大全 mysql int类型的长度值

Posted 类型

篇首语:人往大处看,鸟往高处飞。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 mysql int类型的长度值相关的知识,希望对你有一定的参考价值。

  mysql在建表的时候int类型后的长度代表什么? 是该列允许存储值的最大宽度吗? 为什么我设置成int( ) 也一样能存 呢

  当时我虽然知道int( ) 这个长度 并不代表允许存储的宽度 但却没有一个合理的解释 或者说对这个长度也没有真正的研究过到底代表什么 平时都用int( ) 也不知道为什么要 位 所以我在网上查阅了一些资料 也仔细的看了mysql手册关于int data type的说法

  以下是每个整数类型的存储和范围(来自mysql手册)

  类型

  字节

  最小值

  最大值

  (带符号的/无符号的)

  (带符号的/无符号的)

  TINYINT

  

  

  

  

  

  SMALLINT

  

  

  

  

  

  MEDIUMINT

  

  

  

  

  

  INT

  

  

  

  

  

  BIGINT

  

  

  

  

  

  表格一共有四列分别表式:字段类型 占用字节数 允许存储的最小值 允许存储的最大值

  我们拿int类型为例:

  int类型 占用字节数为 byte 学过计算机原理的同学应该知道 字节(byte)并非是计算机存储的最小单位 还有比字节(byte)更小的单位 也就是位(bit) 一个位就代表一个 或 ; 个位组成一个字节; 一般字节用大写B来表示byte 位用小写b来表示bit

  计算机存储单位的换算:

   B= b

   KB= B

   MB= KB

  那么根据int类型允许存储的字节数是 个字节 我们就能换算出int UNSIGNED(无符号)类型的能存储的最小值为 最大值为 (即 B= b 最大值即为 个 组成);

  接下来我们再说说我们建表时的字段长度到底是怎么一回事

  CREATE TABLE `test` (

  `id` INT( ) NOT NULL AUTO_INCREMENT PRIMARY KEY

  `number` INT( ) NOT NULL

  ) ENGINE = MYISAM ;

  以test表的number字段为例 大家看到我建的是int( )

>

  mysql手册中这个长度/值用 M 来表示的 细心的朋友应该有注意到过mysql手册上有这么一句话: M指示最大显示宽度 最大有效显示宽度是 显示宽度与存储大小或类型包含的值的范围无关;

  这句话看上去不太容易理解 因为这里有个关键词容易让我们混淆 最大显示宽度 我们第一反应是该字段的值最大能允许存放的值的宽度 以为我们建了int( ) 就不能存放数据 了 其实不是这个意思

  这个M= 我们可以简单的理解成为 我们建立这个长度是为了告诉MYSQL数据库我们这个字段的存储的数据的宽度为 位数 当然如果你不是 位数(只要在该类型的存储范围之内)MYSQL也能正常存储 这也就能解释以上标红的话

  我们把这个字段的 属性 修改为UNSIGNED ZEROFILL看一下效果

>

  我们看到现在我的number字段 长度(M)= 属性=UNSIGNED ZEROFILL(无符号 用 来填充位数) 设置这个属性后我往表时插入数据 系统会自动把number字段M不够 位的在左侧用 来填充; 效果如下

> cha138/Article/program/MySQL/201311/29417

相关参考

知识大全 求助~~程序设计:输入一个正整数n,计算1到n的和,定义和调用求和函数,返回值为int型.

求助~~程序设计:输入一个正整数n,计算1到n的和,定义和调用求和函数,返回值为int型.#include<stdio.h>intsum(intn)inti,s=0;for(i=1;i&l

知识大全 c#中英文混合字符串截取指定长度

  //字符是否为汉字  publicboolIsChinese(charc)    return(int)c>=xE&&(int)c<=xFA;    //获得字节长度 

知识大全 MySQL 5.0新特性教程 存储过程:第一讲

MySQL5.0新特性教程存储过程:第一讲  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Int

知识大全 用Distinct在MySQL中查询多条不重复记录值[3]

用Distinct在MySQL中查询多条不重复记录值[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 用Distinct在MySQL中查询多条不重复记录值[1]

用Distinct在MySQL中查询多条不重复记录值[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 用Distinct在MySQL中查询多条不重复记录值[2]

用Distinct在MySQL中查询多条不重复记录值[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 MYSQL中怎样设列的默认值为Now()的介绍

MYSQL中怎样设列的默认值为Now()的介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  M

知识大全 MySQL优化之数据类型的使用

MySQL优化之数据类型的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  有助于效率的类型选

知识大全 MySQL的数据类型和建库策略详解

MySQL的数据类型和建库策略详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  无论是在小得可

知识大全 数组取最大值最小值

  数组取出最大值最小值的方式  第一种  遍历一边数组就可以找出需要的值基本上可以说是速度最快的算法还不需要排序  int[]intArray=;  intmax=intArray[];  intm