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

    文章

    551

    浏览量

    20123
  • MySQL
    +关注

    关注

    1

    文章

    775

    浏览量

    26004
收藏 人收藏

    评论

    相关推荐

    arcgis值类型字段类型不兼容

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

    plc数据类型怎么理解和应用

    PLC(可编程逻辑控制器)是一种工业自动化设备,用于控制机械和工业过程。在PLC编程中,数据类型是非常重要的概念,因为它决定了程序中数据的存储和处理方式。正确理解和应用PLC数据类型是编写有效、可靠
    的头像 发表于 12-19 11:39 1403次阅读

    oracle的数据类型有哪些

    Oracle数据库中有许多数据类型可供选择,每种数据类型都有其各自的特点和适用场景。下面是对Oracle数据库中最常用的
    的头像 发表于 12-05 16:45 642次阅读

    oracle修改数据库表字段类型

    。 2.使用ALTER TABLE语句修改字段类型:在Oracle中,使用ALTER TABLE语句可以修改表的结构。通过ALTER TABLE语句,可以修改字段数据类型、大小和约束
    的头像 发表于 11-21 11:33 1304次阅读

    clob 类型字段的内容类型

    CLOB(Character Large Object)类型字段是一种用于存储大量文本数据数据字段
    的头像 发表于 11-21 11:26 668次阅读

    数据库clob类型字段怎么取

    数据库中的 CLOB(Character Large Object)类型字段存储的是大量的字符数据,如文本文件、XML 文件、图像等。要获取 CLOB
    的头像 发表于 11-21 10:47 1095次阅读

    Redis的数据类型有哪些

    Redis的数据类型有哪些?有五种常用数据类型:String、Hash、Set、List、SortedSet。以及三种特殊的数据类型:Bitmap、HyperLogLog、Geospatial
    的头像 发表于 10-09 10:51 404次阅读

    PLC 数据类型 (UDT) 的基本知识

    说明 PLC 数据类型 (UDT) 是一种复杂的用户自定义数据类型,用于声明一个变量。这种数据类型是一个由多个不同数据类型元素组成的数据结构
    的头像 发表于 09-10 09:46 2265次阅读
    PLC <b class='flag-5'>数据类型</b> (UDT) 的基本知识

    F型PLC数据类型与标准PLC数据类型(UDT)之间的差别在哪?

    可以像使用标准 PLC 数据类型 (UDT) 那样,声明和使用 F 型 PLC 数据类型 (UDT) 。可以在安全程序中以及标准用户程序中使用 F 型 PLC 数据类型 (UDT) 。
    的头像 发表于 08-27 09:54 757次阅读
    F型PLC<b class='flag-5'>数据类型</b>与标准PLC<b class='flag-5'>数据类型</b>(UDT)之间的差别在哪?

    MySQL中用什么数据类型存IP地址

    提到 IP 地址(IPv4),大伙儿脑子里肯定马上能浮现类似于 192.168.0.1、127.0.0.1 这种常见的 IP 地址,然后结合这个问题 “MySQL 中用什么数据类型存 IP 地址?”,于是乎脱口而出用 char 字符串
    的头像 发表于 08-25 14:39 336次阅读
    <b class='flag-5'>MySQL</b>中用什么<b class='flag-5'>数据类型</b>存IP地址

    MySQL优化并不像大家所想的那样简单

    说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适
    的头像 发表于 08-23 09:40 437次阅读
    <b class='flag-5'>MySQL</b>优化并不像大家所想的那样简单

    浅谈PLC定义数据类型的应用

    PLC定义数据类型以下用一个例子介绍PLC定义数据类型的应用,以便进一步理解PLC定义数据类型
    的头像 发表于 07-24 16:07 818次阅读
    浅谈PLC定义<b class='flag-5'>数据类型</b>的应用

    ARRAY 数据类型的变量

    中,系统将提供自动完成功能。 将打开“数组”对话框。 在“数据类型”文本框中,指定数组元素的数据类型。 在“ARRAY 限值”(ARRAY limits) 输入字段中,指定各维度的上限和下限
    的头像 发表于 07-06 11:08 650次阅读

    基本数据类型分享

    基本数据类型 基本数据类型:包括位、位序列、整数、浮点数、日期时间。此外字符也属于基本数据类型,请参见文档String与WString。 1.位和位序列 2.整数数据类型 3.浮点型实
    的头像 发表于 06-13 14:14 5900次阅读
    基本<b class='flag-5'>数据类型</b>分享

    GaussDB 数据类型介绍

    GaussDB 数据库 GaussDB 是华为基于 openGauss 自研生态推出的云化企业级分布式关系型数据库,它支持多种数据类型,包括数值、字符、日期等。在使用 GaussDB 时,可能需要
    的头像 发表于 06-05 16:40 1273次阅读
    GaussDB <b class='flag-5'>数据类型</b>介绍