tinyint java 类型类型 怎么定义

MySQL数据类型 int(M)什么意思 -mysql教程-数据库-壹聚教程网MySQL数据类型 int(M)什么意思
int(M)我们先来拆分,int是代表整型数据那么中间的M应该是代表多少位了,后来查mysql手册也得知了我的理解是正确的,下面我来举例说明。
MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我还以为 int(3) 占用的存储空间比 int(4) 要小, int(4) 占用的存储空间比 int(8) 小。
后来,参看 MySQL 手册,发现自己理解错了。
int(M): M indicates the maximum display width for integer types.
在 integer 数据类型中,M 表示最大显示宽度。
原来,在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。
另外,int(M) 只有跟 zerofill 结合起来,才能使我们清楚的看到不同之处。
mysql& create table t(id int zerofill);
mysql& insert into t(id) values(10);
+------------+
| id&&&&&&&& |
+------------+
+------------+
mysql& alter table t change column id id int(3)
mysql& select *
mysql& alter table t change column id id int(4)
mysql& select *
mysql& insert into t(id) values(1000000);
mysql& select *
+---------+
| id&&&&& |
+---------+
|&&& 0010 |
| 1000000 |
+---------+
从上面的测试可以看出,&(M)&指定了 int 型数值显示的宽度,如果字段数据类型是 int(4),则:当显示数值 10 时,在左边要补上 &00&;当显示数值 100 是,在左边要补上&0&;当显示数值 1000000 时,已经超过了指定宽度&(4)&,因此按原样输出。
在使用 MySQL 数据类型中的整数类型(tinyint、smallint、 mediumint、 int/integer、bigint)时,非特殊需求下,在数据类型后加个&(M)&,我想不出有何意义。
下面补充一下数据类型
MySQL数据类型
含义(有符号)
tinyint(m)
1个字节& 范围(-128~127)
smallint(m)
2个字节& 范围(-)
mediumint(m)
3个字节& 范围(-8607)
4个字节& 范围(-~)
8个字节& 范围(+-9.22*10的18次方)
取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。
2、浮点型(float和double)
MySQL数据类型
float(m,d)
单精度浮点型&&& 8位精度(4字节)&&& &m总个数,d小数位
double(m,d)
双精度浮点型&&& 16位精度(8字节)&& &m总个数,d小数位
设一个字段定义为float(5,3),如果插入一个数123.45678,实际里存的是123.457,但总个数还以实际为准,即6位。
浮点型在中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d) 参数m&65 是总个数,d&30且 d&m 是小数位。
4、字符串(char,varchar,_text)
MySQL数据类型
固定长度,最多255个字符
varchar(n)
固定长度,最多65535个字符
可变长度,最多255个字符
可变长度,最多65535个字符
mediumtext
可变长度,最多2的24次方-1个字符
可变长度,最多2的32次方-1个字符
上一页: &&&&&下一页:相关内容后使用快捷导航没有帐号?
只需一步,快速开始
查看: 3491|回复: 3
INT与WORD定义的数据类型的区别
收到鲜花 朵
阅读权限150
主题好友积分
dennyshen2549的管辖
签到天数: 1451 天连续签到: 14 天[LV.8]以坛为家II&
注册海川吧,与320万海川交流分享
才可以下载或查看,没有帐号?
定义数据类型时,INT与WORD同样是16位的。有什么区别??
发起有意义的议题
发起有意义的议题
收到鲜花 朵
阅读权限75
主题好友积分
签到天数: 132 天连续签到: 1 天[LV.4]海川常住居民I&
本帖最后由 xiao1988711 于
16:12 编辑
一个是整型数 一个是字 数据的类型不一样
如在STEP7里面:
INT的取值范围是:-32768——32767,是16位有符号整数
WORD取值范围是:2#0---2#11_1111
& && && && && & W#16#0---W#16#FFFF
& && && && && & B#(0,0)---B(255,255)
& && && && && & C#0---C#999
& && && && && && &是双字节数
其实这些在编程的时候经常要用到的!呵呵&
收到鲜花 朵
阅读权限150
主题好友积分
青青子衿_的管辖
签到天数: 144 天连续签到: 1 天[LV.4]海川常住居民I&
INT和WORD的区别不在存储上,存储上是一样一样的,区别在用法上,一个寄存器里的数据存储都是一种方式,主要是你怎么用。
比如,一个16位的寄存器,里面的数据都是这样的,如果你想做数学运算,比如加减乘除,就必须用INT类型来定义,如果你用与或非这种逻辑指令,就必须用WORD这种。关键是看你的指令,而不用管你的数据是怎么存放的,存放都是一样的。
再比如,两个连续的16位寄存器,你可以对每个寄存器进行INT运算,也可以两个一起进行浮点或是DINT运算,用什么指令,就用什么类型。
有些PLC,你把变量定义成INT后,这个变量就不能进行与或非逻辑处理。
这种东西是很灵活的,也是PLC,DCS编程的基础,这个基础非常重要。
原创内容,给于鼓励
欢迎积极参与交流
收到鲜花 朵
阅读权限150
主题好友积分
青青子衿_的管辖
签到天数: 144 天连续签到: 1 天[LV.4]海川常住居民I&
INT和WORD的区别不在存储上,存储上是一样一样的,区别在用法上,一个寄存器里的数据存储都是一种方式,主要是你怎么用。
比如,一个16位的寄存器,里面的数据都是这样的,如果你想做数学运算,比如加减乘除,就必须用INT类型来定义,如果你用与或非这种逻辑指令,就必须用WORD这种。关键是看你的指令,而不用管你的数据是怎么存放的,存放都是一样的。
再比如,两个连续的16位寄存器,你可以对每个寄存器进行INT运算,也可以两个一起进行浮点或是DINT运算,用什么指令,就用什么类型。
有些PLC,你把变量定义成INT后,这个变量就不能进行与或非逻辑处理。
这种东西是很灵活的,也是PLC,DCS编程的基础,这个基础非常重要。
海川化工论坛网化工技术交流第一社区,共同学习 共同提高!
广告投放/网站事务
QQ: 活动专用QQ:
违规贴举报删除请联系邮箱:
丰行天下-海川化工论坛 版权所有--- Powered by4933人阅读
MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我还以为 int(3) 占用的存储空间比 int(4) 要小, int(4) 占用的存储空间比 int(8) 小。
后来,参看 MySQL 手册,发现自己理解错了。
int(M): M indicates the maximum display width for integer types.
在 integer 数据类型中,M 表示最大显示宽度。
原来,在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。
另外,int(M) 只有跟 zerofill 结合起来,才能使我们清楚的看到不同之处。
mysql& create table t(id int zerofill);
mysql& insert into t(id) values(10);
mysql& select *
+------------+
| id & & & & & & |
+------------+
+------------+
mysql& alter table t change column id id int(3)
mysql& select *
mysql& alter table t change column id id int(4)
mysql& select *
mysql& insert into t(id) values(1000000);
mysql& select *
+---------+
+---------+
| 1000000 |
+---------+
从上面的测试可以看出,&(M)&指定了 int 型数值显示的宽度,如果字段数据类型是 int(4),则:当显示数值 10 时,在左边要补上 &00&;当显示数值 100 是,在左边要补上&0&;当显示数值 1000000 时,已经超过了指定宽度&(4)&,因此按原样输出。
在使用 MySQL 数据类型中的整数类型(tinyint, smallint, mediumint, int/integer, bigint)时,非特殊需求下,在数据类型后加个&(M)&,我想不出有何意义。
另外,在 MySQL 数据类型中,integer 和 int 同义。到底使用哪个,自己看着办吧。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5390次
排名:千里之外

我要回帖

更多关于 数据类型tinyint 的文章

 

随机推荐