mysql中int(m)_mysql中int(M) tinyint(M)中M的作用
原先对mysql不太理解,但也没有报错。但理解的不够深入。这次补上。
原来以为int(11)是指11个字节,int(10)就是10个字节。我错了。
http://zhidao.baidu.com/link?url=puYWaGBQNKNHgffO5kdvXshF3KmX8OuB4Mor3HXapbNHa8m1CdlF8PJTqVuKa1eKcEd6Bv2NKUr3I-KJr5-7ISLhBsmf17Lu69vxv2aR99_
mysql的基本数据类型里几个int如下:
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1字节 (-128,127) (0,255) 小整数值
SMALLINT 2 字节 ( -2^15 :-32 768,2^15 - 1:32 767) (0,65 535) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER(int 的 SQL-92 同义字为 integer) 4 字节 (-2^31:-2 147 483 648, 2^31 - 1:2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节 (-2^63:-9 233 372 036 854 775 808,2^63-1:9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
这些类型,是定长的,其容量是不会随着后面的数字而变化的,比如int(11)和int(8),都是一样的占4字节。tinyint(1)和tinyint(10)也都占用一个字节。
那么后面的11和8,有啥用呢。
http://zhidao.baidu.com/link?url=b0Z-WIhggaErl3uhMrAhoEXQG_3zotyd7r31O3RXSYiFJo1Cad-NeWN8cFXZFI50yVG_lpKooT7OjLhIa20ephKFJYD-fV9ZAv_o63AfyVq
mysql数据库中以 :数据类型(m) 来约束数据,其中 数字m在不同的数据类型中表示含义是不同的。 咱们这里只讲整数。
整型数系统已经限制了取值范围,tinyint占1个字节、int占4个字节。所以整型数后面的m不是表示的数据长度,而是表示数据在显示时显示的最小长度。
tinyint(1) 这里的1表示的是 最短显示一个字符。tinyint(2) 这里的2表示的是 最短显示两个字符。
当字符长度超过(m)时,相当于啥都没发生;
当字符长度小于(m)时,就需要指定拿某个字符来填充,比如zerofill(表示用0填充),
设置tinyint(2) zerofill 你插入1时他会显示01;设置tinyint(4) zerofill 你插入1时他会显示0001。
所以,没有zerofill,(m)就是无用的。
http://blog.csdn.net/phpwish/article/details/7845921
综上整型的数据类型括号内的数字不管是多少,所占的存储空间都固定的。
http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/08/25/2153016.html
mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,只有字段指定zerofill时有用。
位数限制基本没有意义。
在mysql中我做过实验,对于一个tinyint类型的字段,不管它是tinyint(1)还是tinyint(2)还是tinyint(3),
当你插入大于127的数,都会存入127。跟上文中的结论是一样的。
总结:int(11),tinyint(1),bigint(20),后面的数字,不代表占用空间容量。而代表最小显示位数。这个东西基本没有意义,除非你对字段指定zerofill。
所以我们在设计mysql数据库时,
建表时,mysql会自动分配长度:int(11)、tinyint(4)、smallint(6)、mediumint(9)、bigint(20)。
所以,就用这些默认的显示长度就可以了。不用再去自己填长度,比如搞个int(10)、tinyint(1)之类的,基本没用。而且导致表的字段类型多样化。
mysql中int(m)_mysql中int(M) tinyint(M)中M的作用相关推荐
- win7 mysql添加到服务_MySQL服务添加到Windows系统服务中
MySQL的安装配置(win7 64-bit) 转,整理. MySQL 版本是 mysql-noinstall-5.1.66-winx64.zip(免安装版) mysql-workbench-gpl- ...
- int mysql是什么意思_MySQL数据类型 int什么意思
MySQL数据类型 int什么意思 关注:136 答案:2 mip版 解决时间 2021-01-30 21:51 提问者叫我女王 2021-01-30 10:52 MySQL数据类型 int什么意 ...
- mysql关键字使用顺序_MySQL数据库之单表查询中关键字的执行顺序
MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...
- wdcp mysql数据库无法链接_MySQL数据库之阿里云服务器中centos7 解决wdcp中不能远程访问mysql服务的问题...
本文主要向大家介绍了MySQL数据库之阿里云服务器中centos7 解决wdcp中不能远程访问mysql服务的问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1.检查mys ...
- mysql清空表数据_mysql数据库之如何清空表中数据
本篇文章主要讲述的是在数据库中使用清空命令,具有一定学习价值,有需要的朋友可以了解一下,希望能够对你有所帮助. 在做数据迁移,数据清洗或者写web项目时要将数据替换更新,那么有时要将表做清空处理 常用 ...
- mysql导入csv文件_Mysql——将CSV文件导入表中
本教程展示如何用LOAD DATA INFILE 将 CSV 文件导入MySQL表中. LOAD DATA INFILE 语句可以读取文本文件并导入数据库中. 在导入文件之前,你需要做如下准备:导入文 ...
- mysql 不匹配的_mysql – 如何从两个表中获取不匹配的记录
请参阅以下两个示例表: 表格1: @H_403_8@id acc_no name ------------------------ 1 14 aaaa 2 16 bbbb 3 18 ccccc 4 2 ...
- mysql中将int转为_mysql – 将int转换为varchar
您将需要 cast或 convert作为CHAR数据类型,没有varchar数据类型,您可以将数据转换/转换为: select CAST(id as CHAR(50)) as col1 from t9 ...
- mysql int 拼接_MySQL 修改int类型为bigint SQL语句拼接
SELECT CONCAT( "alter table ", TABLE_SCHEMA, ".", TABLE_NAME, " modify &quo ...
- mysql有nvarchar类型_mysql如何处理varchar与nvarchar类型中的特殊字符
如果你每次建数据表的时候固执的使用varchar,那么你可能会遇到以下的问题: 现在saleUserName的字段类型为varchar(50) update TableNameset saleUser ...
最新文章
- 来看看如何使用策略模式干掉讨厌的 if else
- BCH比特币现金有何魅力,让“比特币耶稣”和矿工们都看涨买入?
- flowable实战(一)flowable与spring boot集成
- 生成指定序列的前一字典序序列(洛谷P2525题题解,C++语言描述)
- C++设计模式-Decorator装饰模式
- 【背包问题】基于matlab离散粒子群算法求解背包问题【含Matlab源码 423期】
- 宏杉科技中标中国移动存储集采喜获50%份额
- 2000坐标系xy坐标几位_2000坐标系(2000坐标系x和y坐标几位数)
- const char* std::string CString 之间的转换
- 中移动投身开放大潮重整数据业务
- 宠物行业新锐宠胖胖APP联手麻花特开心正式出道
- 如何让自己像打王者荣耀一样发了疯、拼了命、石乐志的学习?(强烈推荐)
- GSM/GPRS+GPS模块SIM808
- NPOI Word 编程学习总结
- 创世茶小Y系列—茶元后·龙门飞瀑来袭
- ORA-01000: 超出打开游标的最大数
- 华硕路由器信息发现服务器,研究人员发现华硕路由器收集用户访问记录等隐私数据...
- EmWin学习课堂_小白EmWin_EmWin快速入门_EmWin动态内存,显示和触摸屏_EmWin基础配置
- 淘宝店铺的运营思路和宝贝描述的要素与量子分析,开店必须要学的
- WRF后处理:python cartopy绘制土地利用/土地分类图//python绘制WRF下垫面类型(以北极为例)