mysql中数据类型后面的数字到底是什么?

mysql中数据类型后面的数字到底是什么?,第1张

概述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为最大输入字符长度65535varchar(6) 最多能输入6个英文字母,或者6个汉字

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

我向num字段中插入:

INSERT INTO test (num) VALUES (123); 成功 数据123,

INSERT INTO test (num) VALUES (123456); //那么int(3) 中的3没有其作用吗? 答案是对的,没有作用,他的作用在那里呢?

MysqL 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,

2.

第一个数字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个汉字

总结

以上是内存溢出为你收集整理的mysql中数据类型后面的数字到底是什么?全部内容,希望文章能够帮你解决mysql中数据类型后面的数字到底是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1169409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存