首页 > 数据库 >MySQL数据类型,如何选择数据类型

MySQL数据类型,如何选择数据类型

时间:2024-07-14 13:28:43浏览次数:12  
标签:存储 字节 TEXT ENUM 数据类型 选择 MySQL 类型

数据类型

一、整数类型

标准SQL支持INTEGER和SMALLINT两种整数类型,另外还扩展支持TINYINT、MEDIUMINT、BIGINT。

二、浮点数类型和定点数类型

浮点数类型包括单精度(FLOAT)和双精度(DOUBLE),定点数类型(DECIMAL)。

三、CAHR类型和VARCHAR类型

四、TEXT类型和BLOB类型

TEXT和BLOB类型是对应的,不过存储方式不同,TEXT是以文本方式存储的,而BLOB是以二进制方式存储的。如果存储英文的话,TEXT区分大小写,而BLOB不区分大小写。TEXT 可以指定字符集,BLOB 不用指定字符集。

五、BINARY类型和VARBINARY类型

        BINARY和 VARBINARY数据类型类似于 CHAR和 VARCHAR类型。不同之处在于BINARY与VARBINARY以字节为存储单位,而CHAR与VAR CHAR 以字符为存储单位。例如,BINARY(5)表示存储 5字节的二进制数据,CHAR(5)表示存储5个字符的数据。
        BINARY(n): 固定n个字节二进制数据。n的取值范范围为1-255,默认为1。若输出的字节长度小于n,则不足部分以0填充。BINARY(n)数据存储的字字节长度为n+4。
        VARBINARY(n):n个字节变长二进制数据。1 n 的取值范围为1-65535,默认为 1。 VARBINARY(n)数据存储的字节长度为实际长度+4。

六、日期和时间类型

        日期和时间类型是为了方便在数据库中存储日期和时间而设计的。MySQL有多种表示日期和时间的数据类型。其中,YEAR类型表示年份,TIME 类型表示时间,DATE类型表示日期,DATETIME和TIMESTAMP 表示日期和时间。

七、ENUM类型和SET类型

        ENUM类型和 SET类型是比较特殊的字符串数据类型,它们的取值范围是一个预先定义好的列表。被枚举的值必须用单引号标注,不能为表达式或者一个变量估值。如果想用数值作为枚举值,也必须用单引号标注。ENUM(枚举)类型最多可以定义 65535 种不同的字符串,从中做出选择时只能并且必须选择其中一种;占用存储空间是1个或2个字节,由枚举值的数目决定。例如,要表示性别字段,可用ENUM数据类型,ENUM('男','女')只有两种选择,要么是“男”要么是“女”,而且只需占用一个字节。
        SET(集合)类型,其值同样来自一个用逗号分隔的列表,最多可以有64个成员,可以选择其中的0个或不限定的多个,占用存储空间是1~8字节,由集合可能的成员数目决定。例如,某个表示业余爱好的字段,要求提供多选项供选择,这时该字段可以使用SET 数据类型,如 SET('篮球,'足球',音乐',电影,'看书,画画','摄影),表示可以选择“篮球”“足球”“音乐”“电影”“看书”“画画”“摄影”中

如何选择数据类型

在MySQL中创建表时,需要考虑为字段选择哪种数据类型是最合适的。选择合适的数据类型会提高数据库的使用效率。

SMALLINT: 存储相对比较小的整数,如年龄、工龄和学分等。

INT:存储中等大小整数,如距离。

BIGINT:存储超大整数,如科学数据。

FLOAT: 存储单精度的小的数据,如成绩、温度和测量值。

DOUBLE: 存储双精度的小数据,如科学数据。

DECIMAL: 以特别高的精度存储小数据,如货币数额、单价和科学数据。

CHAR:存储通常包含预定义字符串的变量,如国家名称、邮编和身份证号。

VARCHAR: 存储不同长度的字符串值,如名字、商品名称和密码。

TEXT:存储大型文本数据,如新闻事件、产品描述和备注。

BLOB: 存储二进制数据,如图片、声音、附件和二进制文档。

YEAR: 存储年份,如毕业年、工作年和出生年。

DATE:存储日期,如生日和进货日期。

TIME:存储时间或时间间隔,如开始/结束时间、两时间之间的间隔。

DATETIME:存储包含日期和时间的数据,如事件提醒。

TIMESTAMP:存储即时时间,如当前时间、事件提醒器。

ENUM:存储字符属性,只能从中选择之一,如性别、布尔值。

SET:存储字符属性,可从中选择多个字符的联合,如多项选择业余爱好和兴趣。

标签:存储,字节,TEXT,ENUM,数据类型,选择,MySQL,类型
From: https://blog.csdn.net/qq_42742156/article/details/140413733

相关文章

  • MySql性能优化详细说明
    了解MySQL参数的默认值有助于更好地理解调整后的值所带来的性能提升。以下是每个参数的默认值以及优化后的值的对比和说明:内存管理1.innodb_buffer_pool_sizeinnodb_buffer_pool_size=4G默认值:128M说明及好处:增大缓冲池大小到4G,可以显著减少磁盘I/O,提高查询性能,特......
  • 基本数据类型缓存池
    基本数据类型的包装类除了Float和Double之外,其他六个包装器类(Byte、Short、Integer、Long、Character、Boolean)都有常量缓存池。Byte:-128~127,也就是所有的byte值Short:-128~127Long:-128~127Character:\u0000-\u007FBoolean:true和falseInteger:-128~127......
  • 面试篇-Mysql-1+慢sql+索引
    文章目录前言一、线上的慢sql你们是怎么发现和处理的1.1发现慢sql:1.1.1通过开启mysql的慢日志:1.1.2通过Skywalking平台:1.2针对慢sql你们是怎么处理的:二、你了解过索引吗2.1索引是什么:2.1.1索引为什么要用b+树实现,二叉树,b树不行吗2.1.2你都知道哪些索引:2.1.3......
  • flask+mysql入门案例
    在Flask中集成MySQL数据库进行用户管理是一个常见的项目需求。下面将提供一个基础的步骤和代码示例来理解如何从零开始搭建这样一个系统。1.环境准备首先确保你已经安装了Python和必要的包。你需要安装Flask和用于连接MySQL的包Flask-SQLAlchemy或者Flask-M......
  • 尚硅谷MySQL数据库入门到大牛_宋红康--学习建议
    【MySQL上篇:基础篇】【第1子篇:数据库概述与MySQL安装篇】p01-p11学习建议:零基础同学必看,涉及理解和Windows系统下MySQL安装【第2子篇:SQL之SELECT使用篇】p12-p48学习建议:学习SQL的重点,必须重点掌握,建议课后练习多写【第3子篇:SQL之DDL、DML、DCL使用篇】p49-p73学习建议:学习SQL的......
  • k8s字段选择器
    目录一、概述二、基本语法三、支持的字段1、错误示例2、支持的字段列表四、支持的操作符1、示例五、跨多种资源类型使用字段选择器一、概述在Kubernetes中,字段选择器(FieldSelectors)和标签选择器(LabelSelectors)是两种不同的查询机制,用于过滤和选择特定的资源。字段选择器允许用......
  • 双活mysql搭建
    主从搭建配置可以参考一篇文章,这篇文章是基于上一篇文章开始配置的https://www.cnblogs.com/zyp87/p/18295559主机配置说明:192.168.136.101mysql01centos7.92C4G192.168.136.102mysql02centos7.92C4G192.168.136.109vip防火墙主机互相放行firewa......
  • 模型部署 - TensorRT - C++版本与Python版本应如何选择
    从性能角度来看,TensorRTC++版本和Python版本之间确实存在一些差异:C++版本性能更优:TensorRTC++版本使用了更底层的API,可以更好地利用硬件特性,进行更深层的优化。C++版本在内存管理、CPU-GPU数据传输等方面更加高效,这些都可以带来更好的推理性能。Python版本更易......
  • MySQL优化SQL查询语句的策略与实践
    在数据库管理和优化中,针对MySQL的SQL查询优化是提升性能的关键步骤。以下是一些实践性强且高效的策略,旨在减少查询时间,提高系统响应速度:1.精准索引策略,减少全表扫描索引优化:确保在WHERE和ORDERBY子句中涉及的列上创建索引。这不仅加快了数据检索速度,还降低了服务器负担。替......
  • 《JavaSE》------4.<基础语法(数据类型与变量)>
    包含java注释,标识符,关键字,数据类型与变量,Ascii码与Unicode码,类型转换....语言只是工具,不能决定你好不好找工作,决定你好不好找工作的是你的能力!!!!!学历本科及以上就够用了!!!!!!!!!!!!!!!!!!!!!!!!!!!!目录一、注释二、标识符三、关键字四、数据类型与变量4.1字面常量4.1.1字面常量的分类4.2数据......