文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

1. mysql基本数据类型

2023-08-31 21:39

关注

常见的数据类型:

整数类型:bit、tiny int、small int、medium int、 int、 big int

浮点数类型:float、double、decimal

字符串类型:char、varchar、tiny text、text、medium text、longtext

日期类型:Date、DateTime、TimeStamp、Time、Year

MySQL数据类型含义(有符号)
tinyint(m)1个字节 范围(-128~127)
smallint(m)2个字节 范围(-32768~32767)
mediumint(m)3个字节
int(m)4个字节
bigint(m)8个字节

int(m) :m 用于指定显示宽度

int(5)表示整数类型的字段,其中的5是用来指定该字段显示的宽度,也就是显示时所占用的字符数。这里需要注意的是,这里的宽度只是一种显示效果,不会改变该字段的存储方式或取值范围

以int(5)为例,当一个数值小于5位数(比如1234)时,在数据库中该字段的实际存储空间仍然是4个字节,取值范围也与普通整数类型相同。但当这个值进行查询或者在应用程序中进行输出时,会在其前面自动添加0,使其占据5个字符的宽度,从而保证了输出的格式整齐美观(其实就是显示的格式,内存大小是4字节是不会变的)。

下面是一个简单的示例,用于演示int(5)类型的显示效果:

CREATE TABLE test (id INT(5));INSERT INTO test VALUES (123);INSERT INTO test VALUES (12345);SELECT * FROM test;

执行上述SQL语句后,输出结果如下:

+-------+| id    |+-------+|   123 || 12345 |+-------+

在这里插入图片描述
在MySQL中,float类型是一种浮点数类型,用于存储单精度浮点数。由于float类型采用二进制科学计数法来表示小数,因此在存储时会存在精度问题。

由于float类型的精度问题,当存储一些小数的时候,可能会发生精度丢失的问题。例如,当存储0.1这个小数时,由于0.1的二进制表示不能被完全表示,因此在进行存储和计算时会产生误差,从而导致精度丢失。

下面是一个简单的示例,用于演示float类型的精度问题:

CREATE TABLE test (id FLOAT);INSERT INTO test VALUES (0.1);SELECT * FROM test;

执行上述SQL语句后,输出结果如下:

+-----+| id  |+-----+| 0.1 |+-----+

从上述结果可以看出,虽然我们存储的值是0.1,但实际上输出的结果为0.100000001490116。这是由于float类型的精度问题导致的,相同的问题在其它编程语言中也可能存在。

因此,在MySQL中,如果需要精确存储小数,建议使用decimal类型,而不是float类型

decimal类型是一种高精度的十进制数类型,可以在存储和计算时保持精度不变。但需要注意的是,decimal类型占用的存储空间会比float类型更大,因此在实际使用中需要根据实际情况进行选择。


浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值,不会丢失精度。定点数以字符串形式存储。

decimal(m,d) 参数m是总个数,d是小数位。


在这里插入图片描述
查询速度:char > varchar > text

char:定长,效率高,一般用于固定长度的表单提交数据存储 ;例如:身份证号,手机号,电话,密码等。char长度不足时,在右边使用空格填充,而varchar值保存时只保存需要的字符数。

varchar:不定长,效率偏低,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。

text:不需要指定存储长度,能用varchar就不用text。

来源地址:https://blog.csdn.net/weixin_55888879/article/details/129820547

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯