mysql中数据类型后面的数字到底是什么?
1.在mysql新建数据表的时候我们在数据类型后面经常会见到,或者添加数据,那么数据类型后面的数字到底是什么呢?之前以为int(3) 就代表最长数据就是3个字节,其实不是!!

我向num字段中插入:
INSERT INTO test (num) VALUES (123); 成功 数据123,
INSERT INTO test (num) VALUES (123456); 成功数据123456, //那么int(3) 中的3没有其作用吗? 答案是对的,没有作用,他的作用在那里呢?
解释:
int类型,是定长的,其容量是不会随着后面的数字而变化的,比如int(11)和int(8),都是一样的占4字节。tinyint(1)和tinyint(10)也都占用一个字节。那么后面的3代表什么呢?
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)就是无用的。
mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,只有字段指定zerofill时有用。
位数限制基本没有意义。
2.
float(M,D)
第一个数字M,代表总长度限制(总长度包括小数位和整数位),2代表总长度不能超过2个字符,比如2.34,就超过了2位总长度;
第二个数字D,代表小数位的长度限制。0.2表示占用了1个小数位。
这样看,当然M必需大于等于D。
比如设置为float(2,2),那么写入12.3这个数字时,实际插入的是0.99。
比如设置为float(2,1),那么写入12.3这个数字时,实际插入的是9.9。
mysql会自动截取该字段能接受的最大值存入。
那么设置为float(0,0),则相当于不受限制,或者说受float本身的精度限制。
3. char(M) : M为最大输入字符长度255
例如:char(3) 最多能输入三个英文字母,或者3个汉字
英文字符1字节(utf-8)
4 varchar(M): M为最大输入字符长度65535
varchar(6) 最多能输入6个英文字母,或者6个汉字
mysql中数据类型后面的数字到底是什么?的更多相关文章
- mysql中数据类型的取值范围
mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下: 1.bigint 从 -2^63 (-9223372036854775808) 到 2^ ...
- 关于mysql中数据类型
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. bigint ...
- MYSQL中数据类型介绍
一.MySQL的数据类型 主要包括以下五大类: 主要包括以下五大类: 整数类型:bit. int . bit int . small int . tiny int . medium int .boo ...
- MySQL中的CHAR和VARCHAR到底支持多长?
最近在研究MySQL的数据类型,我们知道,选择合适的数据类型和数据长度对MySQL的性能影响是不可忽视的,小字段意味着可以MySQL可以读取更多的记录,从而加快查询速度. 网上该问题的答案有很多版本, ...
- mysql中数据类型DECIMAL(M,D)的说明
本文转载自Boblim的文章http://www.cnblogs.com/fnlingnzb-learner/p/8108119.html 在MySQL数据类型中,例如INT,FLOAT,DOUBLE ...
- MySQL中数据类型(char(n)、varchar(n)、nchar(n)、nvarchar(n)的区别)(转)
一.第一种 char(n)和varchar(n)的区别: 在这里我们可以清楚的看到他们表面的区别就是前面是否有var,在这里解释一下var是什么意思,var代表“可变的”的意思 下面看个例子: )// ...
- mysql中数据类型的长度
这是一篇很全面的博客的网址 http://qimo601.iteye.com/blog/1622368 下图是其中一部分截图,在mysql数据库中新建数据表时有个长度的设置
- mysql中int型的数字怎么转换成字符串
字段:number 是integer类型 在表test中 select cast(number as char) as number from test; 或者convert()方法.因为转换 ...
- mysql中比较字符串类型数字
操作的表: p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures ...
随机推荐
- Batch Normalization--介绍
思考 YJango的前馈神经网络--代码LV3的数据预处理中提到过:在数据预处理阶段,数据会被标准化(减掉平均值.除以标准差),以降低不同样本间的差异性,使建模变得相对简单. 我们又知道神经网络中的每 ...
- Rabbit RPC 代码阅读(一)
前言 因为想对RPC内部的机制作一个了解,特作以下阅读代码日志,以备忘. RPC介绍 Rabbit RPC 原理可以用3点概括: 1.服务端启动并且向注册中心发送服务信息,注册中心收到后会定时监控服务 ...
- JDBC的使用和SQL注入问题
基本的JDBC使用: package demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql. ...
- LabVIEW(十一):条件结构的巧用
一.LabVIEW中条件结构使用起来并不是那么简便,主要体现在两点: 1.由隧道的产生引起的一些问题.(当箭头停留在隧道处时不显示为“自动索引隧道”,所以此隧道非彼隧道) 2.由多层结构判断引起的不易 ...
- Testing - 软件测试知识梳理 - 探索性测试
定义 探索性测试(Exploratory Testing)是一种自由的软件测试风格,强调测试人员同时展开测试学习,测试设计,测试执行和测试结果评估等活动,以持续优化测试工作. 其特征有:即兴发挥,快速 ...
- 【不遮遮掩掩】Github上传本地代码以及常见问题解决方案
2019.20.18更新: 把完整命令打一遍吧,不然看完太累了不是 //初始化文件夹 git init //初始化目录,把基本文件下载下来,如ignore文件 git pull --rebase or ...
- requestAnimFrame 动画的使用方法
//requestAnimFrame 封装,可以兼容所有浏览器 window.requestAnimFrame = (function(){ return window.requestAnimatio ...
- 课程三(Structuring Machine Learning Projects),第二周(ML strategy(2)) —— 0.Learning Goals
Learning Goals Understand what multi-task learning and transfer learning are Recognize bias, varianc ...
- 从零开始学 Web 之 移动Web(八)Less
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- kdump内核转储
目录 CentOS 7.5 配置Kdump 安装Kdump 安装Kdump图形化 配置保留内存 配置kdump类型 核心转储到本地 核心转储到设备 使用NFS指定核心转储 使用SSH指定核心转储 配置 ...