0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MySQL为字段选择合适数据类型

汽车玩家 来源:数据库的那些事 作者:数据库的那些事 2020-05-03 17:38 次阅读

在使用MySQL创建数据表时,经常会遇到如何为字段选择合适的数据类型的问题,接下来我们一起分析字符串、数值、日期数据类型的选择。

1、CHAR与VARCHAR

CHAR和VARCHAR类型,都用来存储字符串,但它们被存储和检索的方式不同。它们的最大长度以及是否保留尾部空格也不同。CHAR属于固定长度的字符类型,而VARCHAR属于可变长度的字符类型。

下表将各种字符串值存储到 CHAR(4)和VARCHAR(4) 列后的结果,从而说明了CHAR和VARCHAR之间的区别。并且在查询数据时CHAR列会删除尾部的空格。

MySQL为字段选择合适数据类型

CHAR与VARCHAR

建议:

在存储定长字符时推荐使用CHAR,在存储列是不定长时字符推荐使用合适长的VARCHAR。

在使用CHAR和VARCHAR时,后面跟的数字为满足需要的最小值。

2、BLOB和TEXT类型

BLOB是一个二进制大对象,TEXT是一个的文本大对象。BLOB和 TEXT分别包括TINYBLOB,BLOB, MEDIUMBLOB,LONGBLOB和TINYTEXT,TEXT, MEDIUMTEXT,LONGTEXT四种不同的类型。它们之间的区别主要是存储文本长度和存储字节个数的不同。

建议:

对于存在TEXT或BLOB列的表,查询数据是应避免查询这些字段。

如果可以的话应该把BLOB或TEXT列分离到单独的表中,以提升数据处理性能。

3、定点类型与浮点类型

定点类型,DECIMAL类型的存储精确的数值数据。当对精确度要求很高时,例如金额数据,应使用定点类型。MySQL DECIMAL以二进制格式存储值。

浮点类型,FLOAT和DOUBLE类型代表近似值数据。FLOAT单精度需要四个字节存储,DOUBLE双精度需要八个字节存储。

4、日期和时间数据类型

MySQL提供常用的日期和时间数据类型有 DATE, TIME, DATETIME, TIMESTAMP,和 YEAR。每个时间类型都有一个有效值范围,以及一个“ 零 ”值。

从下表可以看出每种类型的“ 零 ”值的格式。

MySQL为字段选择合适数据类型

“零”值的格式

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 字符串
    +关注

    关注

    1

    文章

    579

    浏览量

    20512
  • MySQL
    +关注

    关注

    1

    文章

    809

    浏览量

    26555
收藏 人收藏

    评论

    相关推荐

    怎么选择合适的漏电保护开关

    选择合适的漏电保护开关是确保家庭电气安全的重要步骤。以下是一些选择漏电保护开关的关键要点: 一、品牌与认证 品牌选择 :优先选择知名品牌,因
    的头像 发表于 12-20 16:54 271次阅读

    选择数据采集器时需要考虑的因素

    选择数据采集器时,需要考虑以下关键因素,以确保所选设备能够满足特定应用需求并具有良好的性能和可靠性: 采集需求 : 数据类型和数量 :确定需要采集的数据类型(如温度、湿度、压力、位移
    的头像 发表于 11-28 16:02 343次阅读

    西门子博途新数据类型之:SINT(8位整数)

    数据类型 SINT (Short INT) 的操作数长度 8 位,由以下两部分组成:一部分是符号,另一部分是数值。位 0 到 6 的信号状态表示数值。位 7 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。
    的头像 发表于 11-09 09:52 855次阅读
    西门子博途新<b class='flag-5'>数据类型</b>之:SINT(8位整数)

    如何选择合适的UWB模块

    选择合适的UWB(超宽带)模块需要考虑多个因素,以确保模块能够满足特定应用场景的需求。以下是一些关键因素和步骤,帮助您选择合适的UWB模块: 一、了解UWB技术基础 工作原理 :UWB
    的头像 发表于 10-31 11:18 419次阅读

    如何选择合适数据光端机型号?

    在现代通信网络中,数据光端机作为一种高速、稳定的数据传输设备,扮演着至关重要的角色。选择合适数据光端机型号,不仅能够确保网络的高效运行,还
    的头像 发表于 10-28 10:27 231次阅读

    AIC23采集到的数据是应该用什么数据类型来接收?int还是unsigned int?

    AIC23采集到的数据是应该用什么数据类型来接收,int还是unsigned int? 这个采集到的数字是什么含义呢?代表的是声音信号的幅值? while(!MCBSP_rrdy(hMcbsp
    发表于 10-18 06:56

    怎样选择合适的MOSFET

    怎样选择合适的MOSFET
    的头像 发表于 10-01 08:01 271次阅读
    怎样<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的MOSFET

    labview数据类型的取值范围是多少

    LabVIEW的数据类型丰富多样,涵盖了整数、小数(浮点数)、复数等多种类型,每种类型都有其特定的取值范围。以下是对LabVIEW中常见数据类型取值范围的说明: 整数
    的头像 发表于 09-04 17:33 1049次阅读

    常见的遥感数据类型有哪些

    遥感技术是一种通过遥感器在远离目标的位置获取目标地物的电磁波信息,并进行分析的技术。遥感数据类型繁多,涵盖了从可见光到红外、微波等多个波段,以及不同的数据格式和分辨率。 光学遥感数据 : 全色影像
    的头像 发表于 09-04 14:30 1552次阅读

    技术干货驿站 ▏深入理解C语言:基本数据类型和变量

    语言的知识,后续的编程学习打下坚实的基础。1基本数据类型在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统,用于定义变量的类型
    的头像 发表于 07-26 17:53 2121次阅读
    技术干货驿站 ▏深入理解C语言:基本<b class='flag-5'>数据类型</b>和变量

    ESP32-S3是否支持修改控制端点数据类型

    ESP32-S3是否支持修改控制端点数据类型(如标准类型,自定义类型); 我需要在控制传输数据阶段的DATA0包改为我的USB设备规定的8个字节的
    发表于 06-07 06:00

    C语言数据类型有哪些

    在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
    发表于 03-20 10:56 482次阅读
    C语言<b class='flag-5'>数据类型</b>有哪些

    如何选择合适的线路板TG值?捷多邦您提供专业的建议

    如何选择合适的线路板TG值?捷多邦您提供专业的建议
    的头像 发表于 03-01 10:50 544次阅读

    arcgis值类型字段类型不兼容

    数据类型,用于定义字段可以存储的数据范围和格式。常见的字段类型包括整数(int),浮点数(float),日期(date),文本(strin
    的头像 发表于 02-25 11:14 1664次阅读

    labview 创建mysql 表时 设置时间 怎么在mysql中是格式是date 而不是datetime?

    选择 时间日期 但是在mysql中是date而不是datetime类型 ,除了sql语句创建表 ,怎么能实现创建表中数据datetime
    发表于 02-04 09:46