• 数据库的数据类型


    专栏目录请点击

    简介

    一般常见的数据类型如下

    1. 数值型
      1. 整型
      2. 小数
        1. 定点数
        2. 浮点数
    2. 字符型
      1. 较短的文本:char,varchar
      2. 较长的文本:text,blob(较长的二进制数据)
    3. 日期型
      1. 日期
      2. 时间

    数值

    整型

    整形有如下几种类型

    在这里插入图片描述
    创建表格添加类型如下

    CREATE TABLE book(
    	id INT,
    	number INT UNSIGNED # 无符号
    );
    
    • 1
    • 2
    • 3
    • 4
    1. 我们不设置有负号还是没符号的话,他默认是有符号的
    2. 如果插入的数值超出了整型的范围,他会抛出一个错误out of range并且插入临界值
    3. 如果不设置长度,他会有默认的长度
      • 长度代表了最大的宽度,不过不够会用0在左边填充,需要搭配zerofill的使用

    小数

    浮点型
    float与double

    定点型
    dec和decimal,他来其实表示的是一个

    无论是浮点型还是定点型,他们都相当于一个函数,他们都有两个参数M,D,如float(M,D)

    1. 参数的含义
      • M表示整数位 + 小数位
      • D表示小数位
      • 如果超出位数,则插入临界值
    2. 参数都可以省略
      • 如果是float和double,那么,会根据插入的精度来决定精度
      • 如果是decimal,则D默认为10,M默认为0
    3. 定点型精度要求较高,一般对于精度要求较高的时候使用,比如货币运算等
    CREATE TABLE book(
    	id INT,
    	price1 FLOAT(5,2),
    	price2 DOUBLE(5,2),
    	price2 DEC(5,2)
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    字符

    短文本

    char和varchar

    用来保存MySQL中较短的字符串

    字符串类型最多字符数特点空间的耗费效率
    char(M)M为0~255之间的整数固定长度的字符串比较耗费
    varchar(M)M为0~65535之间的整数可变长度的字符串比较节省

    其他

    类型描述
    binary和varbinary用于保存较短的二进制
    enum用于保存枚举类型,要求插入的值必须是列表中指定的值之一,如果列表成员为1~225,那么需要一个字节存储,如果列表成员为225~65535,则需要两个字节存储
    set用于保存集合类型,可以保存0-64个成员,set可以一次选取多个成员,根据存储成员的不同,所占的空间也是不同的,可以见下面的表格
    bit用于保存位类型,Bit(1)~Bit(8)

    set成员与所占字节

    成员数字节数
    1-81
    9-162
    17-243
    25-324
    33-648

    长文本

    text,blob

    菜鸟教程

    日期

    在这里插入图片描述

    对于时间戳的说明

    1. 时间戳支持的时间范围较小,取值范围为19700101080001-2038年的某个时间
    2. 而datetime得取值范围:1000-1-1到9999-12-31有关
    3. 时间戳和实际得时区有关,更能反应实际的日期,而datetime则只能反映出插入时的当地的时区
    4. 时间戳的属性受mysql版本和sqlmodel的影像很大
  • 相关阅读:
    SDUT—Python程序设计实验10&11(面向对象)
    react使用gg-editor编写拓扑编辑器
    微服务学习第四十四节 Sentinel整合GateWay
    vim 多行注释
    Git版本控制系统
    联盛德W801系列9-wifi和4G模块(air724ug)并存使用MQTT总结
    华为云云耀云服务器L实例评测 | 实例场景体验之搭建接口服务:通过华为云云耀云服务器构建 API 服务
    Connor学JVM - 执行引擎
    Appium混合页面点击方法tap的使用
    浅析Java责任链模式实现
  • 原文地址:https://blog.csdn.net/youhebuke225/article/details/126903696