关于MySQL数据类型定义的几个细节-INT(N)/VARCHAR(N)/DECIMAL(M,N)

本文详细探讨了MySQL数据类型INT(N)、VARCHAR(N)和DECIMAL(M,N)的定义及差异。INT(N)的N仅影响显示,不影响存储和计算;VARCHAR(N)的N代表最大字符数,存储空间根据实际长度而变;DECIMAL(M,N)用于精确小数,M是总位数,N是小数位数。在存储和计算效率上,应根据实际需求合理选择数据类型。" 83212239,7984929,Ubuntu16.04+Tesla P100+CUDA8.0+CUDNN7.0.5详细配置指南,"['服务器配置', 'Linux', 'CUDA', 'CUDNN', 'GPU计算']
摘要由CSDN通过智能技术生成

关于MySQL数据类型定义的几个细节:
(1)INT(N)中,这个N表示啥?如:INT(2)和INT(11)有什么区别?
(2)VARCHAR(N)这个N表示啥?既然VARCHAR是可变长度的,VARCHAR(2)和VARCHAR(200)是不是一样?如果不一样区别在哪儿?
(3)DECIMAL(M,N)中的M和N又表示啥?如果定义字段类型为DECIMAL(10,2),那么当插入数据3.2455时,实际插入的值是什么?

1.Int(N)

存储整数,可以使用这几种数据类型,TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,分别使用8,16,24,32,64位存储空间,储值范围为-2E(N-1)到2E(N-1)-1.

这些类型决定了Mysql是怎么在内存和磁盘中存储数据的,但是在计算机中一般使用64位的BigInt整数,即使在32位环境中。

Mysql可以指定类型的宽度,比如int(10), 对大多数应用这是没有意义的。因为,这不会限制值得合法范围,只是规定了Mysql的一些交互工具(例如Mysql命令行客户端)的显示字符的个数。对于储存和计算来说,int(10)和int(2)是一样的。

测试

CREATE TABLE `int_n` (
  `int2` int(2) DEFAULT NULL,
  `int10` 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值