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

    文章

    594

    浏览量

    23033
  • MySQL
    +关注

    关注

    1

    文章

    897

    浏览量

    29208
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言自动类型转换

    是通过定义类型转换运算来实现的。其一般形式: (数据类型) (表达式) 其作用是把表达式的运算结果强制转换成类型说明符所表示的类型
    发表于 11-25 08:04

    如何选择合适的光纤适配器

    选择合适的光纤适配器需综合考虑接口类型、应用场景、性能参数、兼容性及成本等因素。以下是详细的选择指南和实操建议: 一、明确核心需求:接口类型
    的头像 发表于 09-17 10:11 445次阅读

    SQL 通用数据类型

    SQL 通用数据类型 数据库表中的每个列都要求有名称和数据类型。Each column in a database table is required to have a name and a
    的头像 发表于 08-18 09:46 571次阅读

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行
    的头像 发表于 05-23 09:18 910次阅读

    IEC101协议可以传输什么类型数据

    IEC101协议作为电力系统远动通信的核心标准,其核心能力在于支持多种类型数据的传输,满足调度端与场站端(如变电站、发电厂)的实时监控、控制及状态感知需求。以下从数据类型、传输模式及典型应用场景三个
    的头像 发表于 05-21 11:37 690次阅读

    工业智能网关采集能耗数据对接到MySQL数据

    实现步骤: 一、前期准备 设备选型:选择支持与水表、电表等能源仪表通讯以及MySQL数据库对接的工业智能网关,例如物通博联工业智能网关WG583,确保其能满足数据采集与传输的需求。 能
    的头像 发表于 02-26 13:56 868次阅读
    工业智能网关采集能耗<b class='flag-5'>数据</b>对接到<b class='flag-5'>MySQL</b><b class='flag-5'>数据</b>库

    labview数据类型与PLC 数据类型之间的转换(来自于写入浮点数到汇川 PLC中的数据转换关键的修改)

    为32位无符号整型U32 2、将U32拆分为两个U16,分高低位写入PLC 3、在PLC中,将低位寄存器设置浮点数数据类型 4、结果:PLC中一直无法正确转换。 原因及解决方法: 1、labview
    发表于 02-24 19:01

    数据数据恢复——MySQL数据库误删除表记录的数据恢复案例

    本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型innodb,表空间类型独立表空间。
    的头像 发表于 02-22 09:44 1199次阅读
    <b class='flag-5'>数据</b>库<b class='flag-5'>数据</b>恢复——<b class='flag-5'>MySQL</b><b class='flag-5'>数据</b>库误删除表记录的<b class='flag-5'>数据</b>恢复案例

    如何根据电路需求选择合适村田电感型号?

    根据电路需求选择合适的村田电感型号,需要综合考虑多个因素以确保电感能够满足电路的性能要求。那么如何根据电路需求选择合适村田电感型号?我在大
    的头像 发表于 02-13 14:26 627次阅读

    如何选择合适的PLD型号

    功能,包括逻辑运算、数据存储、输入输出控制等。 性能要求 :了解应用对PLD的时钟速度、逻辑资源、I/O接口数量、功耗等方面的具体要求。 封装要求 :根据应用场景,选择合适的封装类型
    的头像 发表于 01-20 09:40 937次阅读

    如何选择合适的量水堰计型号与规格

    量水堰计作为一种重要的水文监测设备,广泛应用于水库、河流和水渠等水域的流量监测。选择合适的量水堰计型号与规格,对于准确测量水流数据、保障水利工程的正常运行具有重要意义。那么如何选择
    的头像 发表于 01-17 16:01 908次阅读
    如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的量水堰计型号与规格

    适用于MySQL的ODBC驱动程序:可与多个第三方工具兼容的数据连接器

    、MariaDB、Amazon RDS for MySQL 和 Amazon Aurora 数据库。Devart ODBC 驱动程序完全支持标准 ODBC API 函数和数据类型,并支持从任何地方实时访问
    的头像 发表于 01-16 10:12 1008次阅读

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】
    的头像 发表于 01-14 11:25 856次阅读
    <b class='flag-5'>MySQL</b><b class='flag-5'>数据</b>库的安装

    请问ADS1299使用Test Signals ,获取到的数据类型是什么?

    请问ADS1299使用Test Signals ,获取到的数据类型是什么?使用什么公式可以还原?据了解,外部信号转换完成后是浮点型的,但是没有看到这块的说明。
    发表于 01-06 07:14

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

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