• mysql数据类型


    MySQL数据类型详解(全网最全)

    1、数据类型之间的关系

    第1节的目的:就是在看这篇博客之前迅速熟悉这些数据类型的关键字,以至于不会对这些数据类型感到很陌生,这样做的好处就是能够更容易的往后面读,以至于不会产生抵触。我这么细节还不给个三连~

    char&varcharbinary$varbinary

    在这里插入图片描述

    blobtext

    在这里插入图片描述

    整型和浮点型

    在这里插入图片描述

    2、数据类型详解

    2.1、基础知识

    字符(char)

    字节(byte)

    • 一个字节等于八比特位(bit)
    • 假设声明一个字段位int 型,那么这个字段就占4个字节,也就是4*8=32比特位,因此该字段的取值范围就是(-231~231);如果被unsign zerofill 修饰,那么取值范围就是(0~2^32)

    2.1、字符串类型

    类型范围(字节)说明
    char0~255长度固定;超出指定范围进行截取,没有超出指定范围以空格进行填充
    varchar0~65535varchar(20)修饰某个字段时,指的是只能存放20个字符;可以自定义长度且长度可变
    blob0~65535(2^16-1)“二进制对象”一般用来存储字节文件,比如图片、音乐等
    tinyblob0~255(2^8-1)
    mediumblob0~16772150(2^24-1)
    longblob0~4294967295(2^32-1)
    text0~65535(2^16-1)一般用来存储文本内容,无需指定大小
    tinytext0~255(2^8-1)
    mediumtext0~16772150(2^24-1)
    longtext0~4294967295(2^32-1)

    数值类型

    类型范围精度大小说明
    tinyint-128~1271个字节
    smallint-32768~327672个字节
    mediumint-8388608~83886073个字节
    int-231~231-14个字节unsigned:无符号数,一般常用来扩大范围
    bigint-263~263-18个字节
    float大约6~9位数字4个字节
    real
    double大约15~17位数字8个字节
    decimal大约28~29位数字
    numeric

    日期类型

    类型格式说明
    timeHH:mm:ss时:分:秒
    timestamp毫秒数时间戳,从1970年0时0分0秒
    dateYY:MM:dd年:月:日
    datetimeYY:MM:dd HH:mm:ss年:月:日:时:分:秒(最常用时间格式)
    yearYY只返回年份

    布尔类型

    类型范围说明
    boolean取值:true、false
    bool取值:1、0

    二进制数据类型

    类型范围(字节)说明
    binary0~8000二进制数据类型;它们二者之间的区别和char和varchar类似;
    varbinary0~8000定义时需要指定长度
    bit

    特殊类型

    类型范围说明
    enum
    set
    json

    2、数据类型之间的区别

    2.1、字符串类型

    char和varchar之间的区别

    • char牺牲空间换时间
      • char类型长度固定:没有超出指定长度,以空格补充;超出指定长度,超出部分截掉
    • varchatr牺牲时间换空间
      • varchar长度可变,即使指定了字符的多少数量,也可以比指定的数量少(伸缩性)
    • 因此:char存取效率高于varchar,varchar空间利用率高于char

    blob和text的区别

    想提的问题

    int(10)、char(10)、varchar(10) 中的数字10是什么意思?

    • int(10) :这里的数字10并不是表示修饰字段的范围大小,而仅仅表示显示的数值的宽度(也可以说是数值位数)
    • char(10)和varchar(10) :这里的数字10表示可存储的字符的多少(mysql5.0以上,char(10)和varchar(10) 中的10都表示10个字符,也就是说无论存储字母数字还是汉字都能存储10个)

    int(10)和int(10) 的区别

    • 考察这里的数字“10”表示的是什么意思
    • 再加上int整型类型的取值范围即可得到答案
  • 相关阅读:
    深度学习(19):nerf论文公式理解
    CSS选择器总结
    行业调研方法论, 痛点挖掘方法论
    计算机毕业设计(附源码)python在线问诊平台的信息储存安全分析
    Python基础语法2与常见问题
    如何将转换器应用于时序模型
    系统设计的端到端原则
    springboot线程池配置使用
    新型靶向RAS突变的共价抑制剂 | MedChemExpress
    Java基础-字符串
  • 原文地址:https://blog.csdn.net/qq_48575500/article/details/127437478