MySQL数据类型

Boolean

MySQL保存布尔型是按照tinyint(1)来保存,对应到java中的bean为Boolean型,保存到数据库中,1代表true,0代表false。

String

  1. nchar 和 nvarchar 可以存储Unicode编码的字符串;
  2. char 和 varchar 不能存储Unicode编码的字符;
  3. char 和 nchar 是固定长度的,保留指定长度的存储空间,即使没有用尽所有的这些空间;
  4. varchar 和 nvarchar 是可变长度的,只为你要存储的字符开辟空间,将不会像char或nchar那样保留存储空间。

nchar和nvarchar将占用两倍的存储空间,因此只有当需要Unicode支持时才使用它们。
参考:https://stackoverflow.com/questions/176514/what-is-the-difference-between-char-nchar-varchar-and-nvarchar-in-sql-server

虽然varchar可以自动根据长度调整存储空间,但是varchar(100)和varchar(255)还是有区别的:
假设它们都存储了90个字符的数据,那么它们在磁盘上的存储空间是相同的(硬盘上的存储空间是根据实际字符长度来分配存储空间的)。但对于内存来说,则不是这样的,内存是使用varchar中定义的长度(这里为100或255)的内存块来保存值。
所以如果某些字段会涉及到文件排序或者基于磁盘的临时表时,分配VARCHAR的长度时仍然不能过于慷慨,需要评估实际需要的长度,然后设置一个合适的长度,不能随意设置长度。
参考:https://www.cnblogs.com/zeroingToOne/p/9568687.html

小数

float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)

double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)

decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)

DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。例如,语句DECIMAL (5,2)规定了存储的值将不会超过5位数字,开且小数点后面有2位数字。小数点左边可以存储的十进制数字的最大个数为38,小数点右边可以存储的十进制数字为0~左边数值之间的值,默认为0。
参考:https://www.cnblogs.com/zsmynl/p/6927659.html

日期

Date:存储数据格式为:YYYY-MM-DD,它支持的范围为’1000-01-01’到’9999-12-31’,并且允许使用字符串或数字为此列赋值;数字例如:create_date=20181223,自动转换为2018-12-23存储到数据库;
Datetime:存储格式为:YYYY-MM-DD HH:MM:SS,它支持的范围为’1000-01-01 00:00:00’到’9999-12-31 23:59:59’,并且允许使用字符串或数字进行分配值;
Timestamp:从1970-01-01 00:00:00到当前的时间差值;
参考:https://www.cnblogs.com/wlzjdm/p/6953398.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值