JDBC Mysql(数据库)基础

JDBC Mysql(数据库)基础

开发工具与关键技术:SQL  MySql的数据类型
作者:刘铭聪
撰写时间:2021年6月19日  

1.MySql 8 数据类型
设计mysql表结构的时候,有很多数据类型供我们选择,下面来介绍下mysql8中常用的数据类型。 它们分别是整数类型,实数类型,字符串类型,日期和时间类型,位数类型以及JSON类型等.
1.1 整数类型
在这里插入图片描述

⑴ 整数类型有可选的unsigned属性,表示不允许负值,这可以使正数的上限提高一倍(还多1)。有符号和无符号类型使用相同的存储空间,并且具有相同的性能,因此可以根据实际情况选择合适的类型。

⑵ mysql可以为整数类型指定宽度,例如INT(11),对大多数应用来说这是没有意义的:它不会限制合法范围,只是规定了mysql的一些交互工具(例如mysql命令行客户端)用来显示字符的个数。对于存储和计算来说,INT(1)和INT(20)是相同的。

1.2 实数类型
在这里插入图片描述

注意FLOAT和DOUBLE可表示的范围不是完全连续的浮点数,由于精度的限制,有些极小的小数是表示不了的。

① DECIMAL类型最多允许65个数字,表示为DECIMAL(M,D)的格式。例如DECIMAL(5,2)表示最多保存5个数字,其中2个是小数,表示的范围在-999.99 到 999.99之间。如果小数位数D为0,则DECIMAL值不包含小数点或小数部分。
② FLOAT和DOUBLE类型只能使用标准的浮点运算进行近似运算,如果需要精确运算,例如金额计算,则需要使用DECIMAL类型。
③ 因为cpu不支持对DECIMAL的直接计算,所以在mysql5.0以上的版本中,mysql服务器自身实现了DECIMAL的高精度计算。相对而言,cpu直接支持原生的浮点计算,所以浮点计算明显更快。
④ 涉及到金额计算,在数据量比较大的时候,可以考虑用BIGINT代替DECIMAL。例如金额单位精确到分,99.99可以用9999表示,以分为单位存储在BIGINT字段里,这样可以同时避免浮点数计算的不精确和DECIMAL精确计算代价高的问题。

1.3 字符串类型
在这里插入图片描述

⑴ CHAR
①CHAR类型是定长的,会根据定义的长度分配空间。当存储CHAR值时,mysql会删除所有的末尾空格。
②CHAR很适合存储很短的字符串,或者所有的值都接近同一个长度,例如,CHAR非常适合存储密码的
③MD5的值,因为这是一个定长的长度。对于经常变动的数据,CHAR也比VARCHAR更好&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值