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

    文章

    596

    浏览量

    23261
  • MySQL
    +关注

    关注

    1

    文章

    938

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    组态屏变量地址映射 / 数据类型不匹配解决方法

    在工业自动化领域,组态屏作为人机交互的核心设备,其与控制器(如PLC、单片机)之间的数据交换依赖于准确的变量地址映射与数据类型匹配。然而,实际工程中,因地址规划混乱或数据类型不一致导致的显示异常
    的头像 发表于 04-22 10:41 328次阅读
    组态屏变量地址映射 / <b class='flag-5'>数据类型</b>不匹配解决方法

    抽丝剥茧探穷境!一次数据库JSON字段的深度使用实践

    扩展字段来实现。 通用字段,作用于通用逻辑,所有条线走到相应功能时,会对通用字段读写。而对于个性扩展字段而言,只有用到个性化功能时,才会对个性化扩展
    的头像 发表于 03-18 11:13 1692次阅读
    抽丝剥茧探穷境!一次<b class='flag-5'>数据</b>库JSON<b class='flag-5'>字段</b>的深度使用实践

    基于凌羽派的OpenHarmony北向应用开发:ArkTS语法-数据类型和变量声明

    可以在程序执行期间具有不同的值。使用TS风格,声明的时候使用冒号给出数据类型。 let hi: string = \'hello\'; let num: number = 0; 2.2 常量声明
    发表于 02-26 14:24

    睿远研究院丨IO-Link规范解读(十五):数据类型详解

    前言 本篇对IO-Link规范的附录F的数据类型做个详细解释,附录定义了  基本数据类型 (Basic Data Types) 和  组合数据类型 (Composite Data Types),并
    的头像 发表于 01-14 18:25 6098次阅读
    睿远研究院丨IO-Link规范解读(十五):<b class='flag-5'>数据类型</b>详解

    恒讯科技解析:如何安装MySQL并创建数据

    库管理系统(RDBMS),使用结构化查询语言(SQL)高效地组织和管理数据。它是全球最受欢迎的开源数据库系统之一,广泛应用于网页开发、电子商务和商业应用。 常见用例  MySQL 是多种应用的可靠
    的头像 发表于 01-14 14:25 478次阅读

    不用编程不用联网,快速实现PLC与数据库双向数据通讯的案例

    ;#039;数据处理/初始值' 列,常用的功能如下:1. 限定字符串的长度:当数据类型设置字符串即CHAR[n]时,限定字符串的最大字符数,如‘[n=24]’,范围1~128;2. 限定
    发表于 01-14 10:51

    UPS不间断电源-怎么您的精密设备选择合适的UPS电源类型

    ​在数据中心、医疗设备、工业控制及关键业务系统中,稳定可靠的电力保障是命脉所在。突然的断电、电压波动或电源干扰,都可能导致数据丢失、设备损坏甚至生产中断。此时,一台合适的UPS(不间断电源)就成为
    的头像 发表于 12-22 10:03 482次阅读
    UPS不间断电源-怎么<b class='flag-5'>为</b>您的精密设备<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的UPS电源<b class='flag-5'>类型</b>?

    工业数据中台支持接入MySQL数据库吗

    工业数据中台完全支持接入MySQL数据库 ,且通过数据同步、集成与治理等技术手段,能够充分发挥MySQL
    的头像 发表于 12-04 11:23 567次阅读
    工业<b class='flag-5'>数据</b>中台支持接入<b class='flag-5'>MySQL</b><b class='flag-5'>数据</b>库吗

    C语言自动类型转换

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

    C语言强制类型转换

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

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

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

    SQL 通用数据类型

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

    如何选择合适的直流负载或交流负载?

    如何选择合适的直流负载或交流负载?
    的头像 发表于 08-04 17:53 1470次阅读
    如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的直流负载或交流负载?

    MySQL数据备份与恢复策略

    数据是企业的核心资产,MySQL作为主流的关系型数据库管理系统,其数据的安全性和可靠性至关重要。本文将深入探讨MySQL
    的头像 发表于 07-14 11:11 966次阅读

    如何选择合适的工业化超声波清洗设备?

    如何选择合适的工业化超声波清洗设备?专家指导在制造业中,选择合适的工业化超声波清洗设备至关重要。不同的应用需要不同类型的设备,而且性能和功能
    的头像 发表于 06-18 17:24 930次阅读
    如何<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的工业化超声波清洗设备?