• 【MySQL】数据类型


     1. MySQL中的数据类型

    • 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT        
    • 浮点类型:FLOAT、DOUBLE                                               
    • 定点数类型:DECIMAL                                                     
    • 位类型:BIT                                                         
    • 日期时间类型:YEAR、TIME、DATE、DATETIME、TIMESTAMP                       
    • 文本字符串类型:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT      
    • 枚举类型:ENUM                                                        
    • 集合类型:SET                                                         
    • 二进制字符串类型:BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOBLONGBLOB     
    • JSON类型:JSON对象、JSON数组                                          

    2. 整数类型

    整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。

    整数类型 字节有符号数取值范围 无符号数取值范围 
    TINYINT1-128~127  0~255    
    SMALLINT 2-32768~32767       0~65535   
    MEDIUMINT3-8388608~8388607   0~16777215 
    INT、INTEGER4-2147483648~2147483647   0~4294967295   
    BIGINT 8-9223372036854775808~92233720368547758070~18446744073709551615

    3.浮点类型

    • FLOAT 表示单精度浮点数;
    • DOUBLE 表示双精度浮点数;

    4.定点数类型

    •  使用 DECIMAL(M,D) 的方式表示高精度小数。
    • 其中,M被称为精度,D被称为标度。0<=M<=65,0<=D<=30,D
    • DECIMAL(M,D)的最大取值范围与DOUBLE类型一样,但是有效的数据范围是由M和D决定的。
    • DECIMAL 的存储空间并不是固定的,由精度值M决定,总共占用的存储空间为 M+2 个字节。也就是说,在一些对精度要求不高的场景下,比起占用同样字节长度的定点数,浮点数表达的数值范围可以更大一些。
    • 当DECIMAL类型不指定精度和标度时,其默认为DECIMAL(10,0)。当数据的精度超出了定点数类型的精度范围时,则MySQL同样会进行四舍五入处理。

    5.位类型:BIT

    • BIT类型,如果没有指定(M),默认是1位。这个1位,表示只能存1位的二进制值。这里(M)是表示二进制的位数,位数最小值为1,最大值为64。

    6. 日期与时间类型

    • YEAR:通常用来表示年
    • DATE:通常用来表示年、月、日
    • TIME:通常用来表示时、分、秒
    • DATETIME:通常用来表示年、月、日、时、分、秒
    • TIMESTAMP:通常用来表示带时区的年、月、日、时、分、秒
    类型名称  字节日期格式最小值  最大值
    YEAR1   YYYY或YY           1901                   2155    
    DATE日期3    YYYY-MM-DD         1000-01-01             9999-12-03
    TIME时间     3    HH:MM:SS           -838:59:59              838:59:59
    DATETIME日期时间  8    YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00     9999-12-31 23:59:59
    TIMESTAMP日期时间 4    YYYY-MM-DD HH:MM:SS1970-01-01 00:00:00 UTC 2038-01-19 03:14:07UTC

    7. 文本字符串类型

    7.1 CHAR与VARCHAR类型

    CHAR和VARCHAR类型都可以存储比较短的字符串。

    字符串类型  特点  长度长度范围  占用的存储空间
    CHAR固定长度M    0 <= M <= 255  M个字节
    VARCHAR(M) 可变长度 M    0 <= M <= 65535 (实际长度 + 1) 个字节

    7.2 TEXT类型

    文本字符串类型特点长度长度范围占用的存储空间
    TINYTEXT小文本、可变长度L0 <= L <= 255L + 2个字节
    TEXT文本、可变长度L0 <= L <= 65535L + 2个字节
    MEDIUMTEXT中等文本、可变长度L0 <= L <= 16777215L + 3个字节
    LONGTEXT大文本、可变长度L0 <= L<= 4294967295L + 4个字节

    8. ENUM类型

    • ENUM类型也叫作枚举类型,ENUM类型的取值范围需要在定义字段时进行指定。设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。
    • 其所需要的存储空间由定义ENUM类型时指定的成员个数决定。

    9. SET类型

    • SET表示一个字符串对象,可以包含0个或多个成员,但成员个数的上限为64 。设置字段值时,可以取取值范围内的 0 个或多个值。
    • 当SET类型包含的成员个数不同时,其所占用的存储空间也是不同的

    10. 二进制字符串类型

    • MySQL中的二进制字符串类型主要存储一些二进制数据,比如可以存储图片、音频和视频等二进制数据。
    • MySQL中支持的二进制字符串类型主要包括BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和LONGBLOB类型。

    11. JSON 类型

    • JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。它易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

  • 相关阅读:
    NLP 类问题建模方案探索实践
    【C语言】深入解析选择排序算法
    JVM学习笔记
    13【装饰器设计模式】
    树莓派通过frp实现内网穿透打通ssh[操作记录]
    使用 PyTorch 的计算机视觉简介 (1/6)
    电脑重装系统后桌面图标如何调小尺寸
    vue的模板语法(下篇)
    【论文解读】| 通过大语言模型实现通用模糊测试
    设计模式-行为型模式-责任链模式
  • 原文地址:https://blog.csdn.net/wosixiaokeai/article/details/138196560