当前位置:首页 » 《随便一记》 » 正文

02 MySQL数据库第二站_LOOKTOMMER的博客

17 人参与  2022年02月27日 16:32  分类 : 《随便一记》  评论

点击全文阅读



👻

🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈

👻


数据库是用来存放数据的,而数据往往对应着不同的数据类型

1. 数值类型

👻从整体上分为整型浮点

数据类型大小说明对应的Java类型
BIT[(M)] M指定位数,默认为1,即bit二进制的数,M的范围从1~64,存储数的范围为2^M -1常用Boolean对应BIT,此时默认为1位,只能存0和1,表示正负
TINYINT1字节-128~127Byte
SAMLLINT2字节-32768~32767Short
INT4字节       -2147483648~2147483647Integer
BIGINT8字节

最大值:9223372036854775807

最小值:-9223372036854775808

Long
FLOAT(M,D)4字节单精度,M指定长度,D指定小数点位数,会发生精度缺失Float
DOUBLE(M,D)8字节双精度,M指定长度,D指定小数点后的位数,会发生精度缺失Double
DECIMAL(M,D)M是数字的精度,其范围为1~65,默认值是10;D是小数点右侧数字的数目,其范围是0~30,但不得超过M,没有精度缺失BigDecmial
NUMBRIC(M,D)同上BigDecmial

👻数值类型中,最常用的为 int decimal 。int 表示整型,decimal 表示小数类型。整型可以取无符号类型(unsigned),表示不取负数,但在实际工作中,尽量不要使用无符号类型。因为 int 放不下,unsigned int 也可能放不下,不如直接采用 bigint 

👻可能有人会有疑惑:为什么不用 float double 表示小数呢?

🎈由于 float 和 double 存在精度缺失,而数据库中可能含有成千上百万个数据,可能因为这一点精度缺失,就会导致查询或者访问的结果出现差错(个人理解)

2.字符串类型

数据类型大小说明对应Java的类型
VARCHAR(SZIE)SIZE取(0~65535)字节可变长度字符串String
TEXT最大容纳65535字节长文本数据String
MEDIUMTEXT最大容纳16777215中等长度文本数据String
BLOB最大容纳65535字节二进制形式的长文本数据byte[]

👻字符串类型中,最常用的是 varchar(size)  size取0~65535。

🐱‍🚀在选择数据类型的时候,一定要选择合适的数据类型,不能过大,也不过小。过大会导致存储空间的浪费,过小会导致存储不下需要的数据。

3. 日期类型

数据类型大小说明对应的Java类型
DATETIME8字节范围从1000到9999年,不会进行时区的检索及转换。Java.util.Date、Java.sql.Timestamp
TIMESTAMP4字节范围从1970到2038年,自动检索当前时区并进行转换。Java.util.Date、Java.sql.Timestamp

👻 timestamp 时间戳从北京时间1970-01-01 08:00:00 开始计时。

时间戳(Unix timestamp)转换工具 - 在线工具 (tool.lu)https://tool.lu/timestamp/


点击全文阅读


本文链接:http://zhangshiyu.com/post/35504.html

字节  类型  精度  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1