mysql保留两位小数查询_MySQL数据类型全解析

更新时间:2023-07-13 01:07:40 阅读: 评论:0

mysql保留两位⼩数查询_MySQL数据类型全解析1 概述
本⽂主要介绍了MySQL的各种数据类型,版本为8.x.
MySQL的数据类型可以分为六类:数值类型,⽇期时间类型,字符串类型,⼆进制类型,JSON类型与空间数据类型.
2 数值类型
数值类型是最基本的类型,可以分为整数类型与浮点数类型.
萧何月下追韩信2.1 整型
赵丽娇没写出的具体的精确值⽆符号的范围计算公式如下:
有符号的计算公式如下:
所有整形如果允许NULL的话默认为NULL,不允许为NULL的需要⼿动设置默认值.
如果插⼊或修改的数据范围不符合会提⽰操作失败,如上图提⽰列c_mediumint的数据超出范围.
2.2 浮点型
可以⽤两种⽅式来表⽰⼩数,分别是浮点数类型与定点数类型.
浮点数⽤于不需要太精确的⼩数场合,类型包括FLOAT与DOUBLE,定点数类型就是DECIMAL.
下⾯是测试的待插⼊的数据:
插⼊之后再查询:
可以看到,float的精度最⾼为6位,后⾯的进⾏四舍五⼊,DOUBLE的最⾼精度为15位.
下⾯来说⼀下DECIMAL.
2.3 DECIMAL
DECIMAL也可⽤DEC来表⽰,⽤于计算精确的⼩数值,DECIMAL通常如下表⽰:
DECIMAL(M,D)
如果要计算所占⽤的字节数,需要分为整数与⼩数两部分,分开计算再相加,每部分⼜按照9位数字去拆分,计算规则如下:
也就是说对于
DECIMAL(24,8)
整数部分24-8=16位,⼩数部分8位,⼩数部分的8位根据规则所占⽤的字节数为4个,整数部分按每9位进⾏拆分,16=9+7,9位的部分占4个字节,7位的部分按照规则也占4个字节,所以整数部分占8个字节,加上⼩数部分的4个字节,总共占12个字节.
⾄于NUMERIC,在MySQL中,NUMERIC被实现为DECIMAL:
3 ⽇期与时间类型
总共有五类:YEAR,TIME,DATE,DATETIME,TIMESTAMP.
3.1 ⽇期
⽇期有两种类型:YEAR与DATE,YEAR表⽰年,DATE表⽰⽇期.
DATE中的年⽉⽇插⼊时可以不分隔或者⽤各种符号进⾏分隔,⽐如
! @ # $ % ^ & * ( ) - /  [ ] { } : ; ' " |  , . < > ?
上图中的date都是合法的,插⼊之后MySQL都会统⼀⽤横杠代替:
YEAR的话MySQL其实允许两位数的YEAR,其中00-69表⽰2000-2069,70-99表⽰1970-1999.
摄像机
其他插⼊⽅式的话可以⽤CURRENT_DATE,CURRENT_DATE(),CURDATE(),NOW(),CURTIME(),CURRENT_TIME,CURRENT_TIME():
大庭广众的拼音
3.2 时间
时间就⼀种类型:TIME.
TIME所占的字节数为3个字节,取值范围为:
[-838:59:59,838:59:59]
插⼊时时分秒可以不分隔或者必须以冒号分隔.店长岗位职责
插⼊后统⼀变为冒号分隔:
可以使⽤CURRENT_TIME或CURRENT_TIME(),CURTIME()或NOW()插⼊:
花衣裳
甚⾄也可以使⽤CURDATE(),不过此时插⼊的是零值:
3.3 ⽇期+时间
TIMESTAMP与DATETIME:
DATETIME就是DATE与TIME的结合,先DATE再TIME,空格分隔.
TIMESTAMP表⽰时间戳,表⽰当前时间到1970年1⽉1⽇0时0分0秒经过的秒数,中的写法是年⽉⽇时分秒,⽐如
19700101080001
表⽰
1970年1⽉1⽇8时0分01秒
这⾥之所以使⽤080001是因为中国的时区.
19700101000000
会报错,范围不允许.
19700101080000孔雀东南飞朗诵
也不⾏.
在插⼊时可以指定默认值,使⽤now()或CURRENT_TIMESTAMP:
插⼊后DATETIME与TIMESTAMP存储的形式⼀致,横杠分隔⽇期,冒号分隔时间,时间与⽇期⽤空格隔开.
也可以使⽤CURTIME()或CURDATE()插⼊,对于CURTIME(),⽇期采⽤当前⽇期,对于CURDATE(),时间采⽤00:00:00
4 字符串类型
4.1 CHAR/VARCHAR
图中的链接l earn.blog.csdn
⽆论是CHAR还是VARCHAR,超过了创建时指定的长度便插⼊失败:
4.2 TEXT
TEXT是⼀种专⽤于存储长⽂本的变长数据类型,包括TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT:
TEXT在插⼊时超过最⼤允许长度会插⼊失败.
4.3 ENUM
如何端正人生态度枚举类型,在创建表时enum的取值范围以列表的形式指定:
ENUM('value1','value2',...,'valuen')
ENUM占⽤1或2个字节,列表中最多能有65535个值,每个值末尾的空格都会被删除,列表中的每个值独有⼀个顺序排列的编号,MySQL会存⼊这个编号⽽不是对应的值.
等价于
即取值列表的编号从1开始.
4.4 SET
SET占⽤1或2或3或4或8个字节,取决于⾥⾯元素的数量,最⼤数量为64.SET可以是⼀个或多个元素的组合,值后⾯多余的空格会被删除,取多个元素时,不同元素⽤逗号隔开.
如:
插⼊前:
插⼊后:

本文发布于:2023-07-13 01:07:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1079170.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:类型   范围   分隔   部分   元素   数据类型
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图