mysql 中的数据类型和几个问题_mysql数据可数据类型记不住咋办-csdn博客


本站和网页 https://blog.csdn.net/mrzhouxiaofei/article/details/79699448 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

MySQL 中的数据类型和几个问题_mysql数据可数据类型记不住咋办-CSDN博客
MySQL 中的数据类型和几个问题
最新推荐文章于 2024-02-06 14:37:57 发布
潜心做事GG 阅读量510 收藏 3 点赞数 1 分类专栏: MySQL 文章标签: 数据类型
版权声明:本文为博主原创文章,遵循
CC 4.0 BY-SA
版权协议,转载请附上原文出处链接和本声明。
本文链接:
https://blog.csdn.net/mrzhouxiaofei/article/details/79699448
版权
专栏收录该内容
5 篇文章
2 订阅
订阅专栏
在 MySQL 中,可以通过存储引擎来决定表的类型,即存储引擎决定了表的存储方式;同时 MySQL 中也提供了几种数据类型,而数据类型决定了表存储数据的类型。在这篇文章里,先来简单的介绍 MySQL 中的数据类型。
MySQL 支持多种数据类型,大致可以分为三类:数值、日期 \ 时间、字符串(字符)
数值类型
数值类型又分为整数类型、浮点数类型和定点数类型
日期 / 时间类型
字符串类型
几个问题
int(10) 与 int(11) 的区别
int 占 4 个字节,存储的数据范围见上表,int 后面的数字表示字符显示宽度
只要数据类型声明为 int,则该列所能存储的整型数据范围是固定的,不管后面的是 10 还是 11,int 的字符显示宽度大小,和能存储的数据范围大小没有关系;
zerofill 表示数据小于字符显示宽度时,左边用 0 填充,直至达到定义的字符显示宽度;
若数据宽度大于等于字符显示宽度时,则正常存储,不处理该数据;
字符显示宽度必须和 zerofill 配合使用,不然字符显示宽度无意义;
使用 zerofill 填充时,会隐式的将该列设置为无符号;
不设置字符显示宽度和 zerofill 时,int 型默认字符显示宽度为 11。
float
float 存在许多潜在因素,要
尽量避免
使用
默认只能存储 6 个数字(小数点前后),超过 6 位就会显示为科学记数法,并且 6 位之后的部分会四舍五入舍去;
设置 float(m),m <= 24 时,精度和不设置 m 一样,都只能存储 6 个数字,m 超过 24 时,会自动转换为 double;
设置 float(m,d),m 表示整数和小数的最大长度,d 表示小数部分,m-d 表示整数部分,整数部分超过 m-d,插入异常,小数部分大于 d,则从第 5 位开始四舍五入去掉后面的部分,小数部分小于 d,用 0 填充,m = d 时,整数部分必须为 0;
浮点数存在误差问题,对货币等对精度敏感的数据,应该使用定点数存储。
double 与 decimal 区别
double 浮点型,decimal 定点型;
double 不指定精度,默认按实际的精度显示;
decimal 不指定精度,默认 m = 10,d = 0;
decimal 可以存储比 bigint 更大的整数。
datetime 与 timestamp 区别
存储范围不同,datetime 范围更大;
所占空间大小不同,timestamp 只占 4 字节;
datetime 和时区无关,timestamp 和时区有关;
timestamp 将时间从当前时区转化为 UTC 进行存储,查询时又转化为当前时区,datetime 原样存储;
都可以设置默认值为 CURRENT_TIMESTAMP,在插入和更新时会自动使用当前时间填充;
timestamp 可以指定长度,精度到毫秒级,datetime 不可以;
对于跨时区的业务,timestamp 更适合。
char(4) 与 varchar(4) 区别
能存储的最大字符数都是 4 个,超过自动截取,字符包括汉字、英文字母和数字;
char 存储低于 4 个,依然占 4 个字节,varchar 存储低于 4 个,占字符数 + 1 个字节;
varchar 存储的字符数小于等于 255 个时,用 1 个字节记录字符串长度,大于 255 个时,用 2 个字节记录字符串长度。
汉字占字节大小
一般每个汉字 3 个字节;
和编码有关。
其他类型
boolean 与 bool
MySQL 中没有 boolean 类型,使用 0 和 1 代表 false 和 true,设置一列为 boolean 类型,将会自动转换成 tinyint(1);
enum
枚举类型,从给定的几个值中挑选一个;
set
枚举类型,从给定的几个值中挑选一个或多个;
numeric
同 decimal 类型一样,没有任何区别。
本文原始链接:
优惠劵
关注
点赞
觉得还不错?
一键收藏
知道了
评论
在 MySQL 中,可以通过存储引擎来决定表的类型,即存储引擎决定了表的存储方式;同时 MySQL 中也提供了几种数据类型,而数据类型决定了表存储数据的类型。在这篇文章里,先来简单的介绍 MySQL 中的数据类型。MySQL 支持多种数据类型,大致可以分为三类:数值、日期 \ 时间、字符串(字符)数值类型数值类型又分为整数类型、浮点数类型和定点数类型日期 / 时间类型...
复制链接
扫一扫
专栏目录
mysql
单精度与双精度,
:float和double有什么区别?
weixin_34545862的博客
03-23
3009
在检查新的
数据
库结构时,我看到有人将字段从float更改为double。我想知道为什么,我检查了
文档,但老实说,我不知道有什么区别。有人能解释吗?注意,"使用float可能会给您带来一些意想不到的
问题
,因为
的所有计算都是用双精度完成的。"我猜你的意思是这个链接:dev.
.com/doc/refman/5.0/en/problems-with-float.html这可...
浮点类型
WenJieya的博客
02-23
4338
1:类型介绍
浮点数和定点数类型的特点是可以 处理小数 ,你可以把整数看成小数的一个特例。因此,浮点数和定点
数的使用场景,比整数大多了。
支持的浮点数类型,分别是 FLOAT、DOUBLE、REAL。
注意:上面提到可以把整数看成小数的一个特例,所以例:我们向一个FLOAT型字段插入一个整数是可以的,只是存储的时候后面加个.00而已
FLOAT 表示单精度浮点数
DOUBLE表示双精度浮点数
REAL默认就是DOUBLE。如果你把SQL模式设定为启用"R
参与评论
您还未登录,请先
登录
后发表或查看评论
:列类型之float、double
热门推荐
火焰
02-11
1万+
环境:
window10
vs2022
.net 6
8.0.25
DBeaver
参考:
《MSDN:浮点数值类型(C# 引用)》
:11.1.4 Floating-Point Types (Approximate Value) - FLOAT, DOUBLE》
1. float和double类型
,float和double都是浮点数类型:
float 占4个字节,精度是6位;
double 占8个字节,精度是16位;
它们的性质和c#
浮点数的性质是一样
的5种
weixin_48493988的博客
04-12
2661
表由多个字段组成,每个字段在进行
定义的时候都要确定不同的
。向每个字段插入的
内容决定了该字段的
提供了丰富的
,根据实际需求,用户可以选择不同的
。不同的
,存储方式是不同的。主要讲了整数型
、浮点型
、时间和日期型
、字符串型
和二进制型
float、double、decimal三个浮点类型的区别与总结
最新发布
迪之的博客
02-06
1563
double: 因为小数位精度高的缘故,所以双精度用来进行高速数学计算、科学计算、卫星定位计算等处理器上双精度型实际上比单精度的快, 所以: 当你需要保持多次反复迭代的计算精确性时,或在操作值很大的数字时,双精度型是最好的选择。2、字段decimal(20,6),20-6=14,其
小数部分为6,就对应上表
的3个字节,而整数部分为14,14-9=5,就是4个字节再加上表
的3个字节。在存储同样范围的值时,通常比decimal使用更少的空间,float使用4个字节存储,double使用8个字节
float、double、decimal三个浮点类型的区别与总结!
极客小俊
08-14
5593
那么多浮点用哪个?
详解
和schema优化
12-14
以下
几个
原则能够帮助确定
更小的通常更好 应尽可能使用可以正确存储
的最小
,够用就好。这样将占用更少的磁盘、内存和缓存,而在处理时也会耗时更少。
简单就好 当两种
都能胜任一个...
几种
统计查询的基本使用教程
12-15
该 SQL 语法用于统计某一数值类型字段的平均数,AVG() 内不能是多个字段,字符串等类型虽然可以执行,但无意义。 例子:
SELECT AVG(uid) FROM user
得到查询结果:
2.5000
当然在此统计 uid 的平均数是无实际...
索引必须了解的
重要
本文讲述了
。分享给大家供大家参考,具体如下: 1、索引是做什么的? 索引用于快速找出在某个列
有一特定值的行。不使用索引,
必须从第1条记录开始然后读完整个表直到找出相关...
优化原则
支持的
很多,选择正确的
对于高性能至关重要。下面
简单的原则都有助于做出更好的选择。
更小的通常更好 应该尽量使用可以正确储存
。更小的
通常更快,因为它们...
库优化必会的
参数
文解释
01-21
3:cpu.cpu处理内存
,当有相对内存较小的表时,这是最常见的限制因素. 4:内存的限制.当cpu需要超出适合cpu缓存的
时,缓存的带宽就成了内存的一个瓶颈—不过现在内存大的惊人,一般不会出现这个
. 第二步:...
Decimal类型和Float Double的区别(详解)
09-09
下面小编就为大家带来一篇
Decimal类型和Float Double的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
的10种常用
piglite的专栏
06-25
2351
如果存储时,小数点部分若超出范围,就分以下情况:若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存,例如在FLOAT(5,2)列内插入999.009,近似结果是999.01。例如,'19970523'和'970523'被解释为 '1997-05-23',但'971332'是不合法的(它有一个没有意义的月和日部分),将变为'0000-00-00'。text文本类型,可以存比较大的文本段,搜索速度稍慢,因此如果不是特别大的内容,建议使用char,varchar来代替。
Mysql
数值类型之float,double,decimal
weixin_46453004的博客
07-04
2768
对于小数的表示,
分为两种方式:浮点数和定点数。浮点数包括float(单精度),double(双精度),而定点数只有decimal一种表示。定点数在
内部以字符串的形式存放,比浮点数更精确,所以适合用来表示货币等精度高的
概念:
浮点数和定点数都可以用类型名称后加“(M,D)”的方式来表示,“(M,D)”表示该值一共显示M为数字(整数+小数位),其
D位位于小数点后面,M和D又称为精度和标度,例如,定义为float(7,4)的一个列可以显示为-999.9999。
保存值得.
拾遗之浮点类型(float和double)
爱喝水的qdy的博客
12-17
285
,有一条忠告,就是 「 不要使用浮点类型,不要使用浮点类型,不要使用浮点类型 」,如果真要使用,那么也请使用 DECIMAL 类型。
为什么呢 ?
因为浮点类型的值是 「 近似 」精度,而且,因为它们都有使用 4 或 8 字节存储,而会带来另一些往往想不到的雪上加霜的
近似值的浮点类型
浮点数有时会引起混淆,因为它们存储的是近似值而不是精确值,这就可能直接导致了在 SQL...
float、double、decimal的区别
qq_64314976的博客
01-08
1210
浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(5,2)的 可显示为999.99,
保存值时会进行四舍五入,如果插入999.009,则结果为999.01。float和double在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。所以,decimal 类型是适合财务和货币计算的128位
weixin_45932896的博客
12-04
287
常见的
如下:
1、整数类型
包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,小数类型 FLOAT 和 DOUBLE,DECIMAL。
2、日期/时间类型
包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。
3、 字符串类型
包括 CHAR、VARCHAR、BINARY、V...
不存在的
weixin_39996096的博客
01-19
2081
1 整型2 定点型 decimal, numeric, 在
以binary形式储存,用于精确存储数值。decimal(m,n): m为最大有效位数(不超过65,默认为10),用于控制数值的精度,n为最大小数位数3 浮点型 float(4 bytes), double(8bytes) , 用于近似存储数值。float(m,n):m为最大有效位数(0-23),n为最大小数位数double...
是_
weixin_39658619的博客
1198
1.实践经验部分Oracle--->
NUMBER(12)--->INT(12)NUMBER(12,2)--->DECIMAL(12,2)或FLOAT(12,2)或DOUBLE(12,2)VARCHAR2--->VARCHARCLOB--->BLOB DATE--->DATE(或DATETIME)Oracle
:long可以存储2G大小字符,clob可以...
有哪
04-19
有多种
,包括数值类型、日期和时间类型、字符串类型、二进制类型等。具体的
包括:整型(int、bigint、tinyint、smallint)、浮点型(float、double、decimal)、日期时间(date、time、datetime、timestamp)、字符串类型(char、varchar、text、longtext、mediumtext)、二进制类型(binary、varbinary、blob、longblob、mediumblob)等等。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
CSDN认证博客专家
CSDN认证企业博客
码龄7年
暂无认证
25
原创
24万+
周排名
204万+
总排名
访问
等级
1681
积分
82
粉丝
333
获赞
77
795
私信
热门文章
MySQL 之全文索引
108378
谈谈唯一约束和唯一索引
36282
Laravel5.5 + Vue2 + Element 环境搭建
19852
PHP7开启OpenSSL扩展失败的解决办法(win10)
19456
CentOS 7 下编译安装 Linux 4.14 内核
13478
分类专栏
PHP
7篇
JavaScript
4篇
算法
工具
3篇
Linux
5篇
效率
随笔
2篇
最新评论
我不会jvav:
5.8版本,(*)星号 通配符,我接在词前面也可以查出来
awsl1212:
你在扯什么淡啊,null数量都搞不明白
终末之诗EndPoem:
编译2个半小时有点久了,是不是配置比较低呀,我的i5-12400F(分配虚拟机8线程)只用了15分钟左右
微光 ら゛:
看的很舒服
晨矤梦曦:
修改我一开始还没看懂,,翻评论才发现,哈哈哈
最新文章
这个假期有点长
Laravel 中 Session 的使用问题
2018 这一年
2019年
2018年
11篇
2017年
13篇
目录
被折叠的 
 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
红包个数最小为10个
红包总金额
红包金额最低5元
余额支付
当前余额
3.43
前往充值 >
需支付:
10.00
取消
确定
下一步
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值