• mysql系列:mysql的数据类型


    mysql的数据类型

    整数类型

    tinyint 1字节

    smallint 2字节

    mediumint 3字节

    int 4字节

    bigint 8字节

    常用的浮点类型

    float 4字节 不精准

    double 8字节 不精准

    decimal 每4个字节存9个数字,小数点占一个字节 精准

    • 123456789.987654321 = decimal(18,9)占用9个字节
    • 123456789 4字节 . 1字节 987654321 4字节

    常用的时间类型

    DATE 3字节 格式:YYYY-MM-DD 范围:从‘1000-01-01’到‘9999-12-31’

    TIME 3-6字节 格式:HH:MM:SS[.微秒值] 范围:从‘-838:59:59’到‘838:59:59’ 可以存取一个区间内的时间

    微秒 存储空间
    0 0bytes
    1,2 1bytes
    3,4 2bytes
    5,6 3bytes

    YEAR 1字节 格式:YYYY 范围:从1901到2155

    DATETIME 5-8字节 格式:YYYY-MM-DD HH:MM:SS[.微秒值] 范围:从‘1000-01-01 00“00:00’到‘9999-12-31 23:59:59’

    TIMESTAMP 4-7字节 格式:YYYY-MM-DD HH:MM:SS[.微秒值] 范围:从‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-19 03:14:07’ UTC

    常用的字符串类型

    Char(M) 范围: M=1~255个字符 固定长度

    Varchar(M) 一行中所有varchar类型的列所占用的字节数不能超过65535个字节 UTF8mb4 varchar(10)=40字节

    存储可变长度的M个字符

    TinyText 范围:最大长度255个字节 可变长度

    Text 范围:最大长度65535个字节 可变长度

    MediumText 范围:最大长度16777215个字节 可变长度

    LongText 范围:最大长度4294967298个字节 可变长度

    Enum 范围:集合最大数目为65535 只能列表中的值

    如何为数据选择合适的数据类型

    • 优先选择符合存储数据需求的最小数据类型

    IP地址转换 : INET_ATON('255.255.255.255') = 4294967295

    ​ INET_NTOA(4294967295) = '255.255.255.255'

    • 谨慎使用ENUM,TEXT字符串类型 TEXT不能索引 enum需要alter 产生数据所
    • 同财务相关的数值型数据,必须使用decimal类型

    如何为表和列选择适合的名字

    • 所有数据库对象名称必须使用小写字母可选用下划线分割

    • 所有数据库对象名称定义禁止使用Mysql关键字(官方网站查询)

    • 数据库对象的命名要能做到见名识意,尽量不要超过32个字符

    • 临时表库必须以tmp为前缀并以日期为后缀

    • 用于备份的库,表必须以bak为前缀并以日期为后缀

    • 所有存储相同搞数据的列名和列类型必须一致

  • 相关阅读:
    Java实现 LeetCode 101 对称二叉树
    编写在浏览器中不弹出警告的ActiveX控件
    ocx控件避免弹出警告的类--2
    修改注册表添加IE信任站点及启用Activex控件
    让动态创建的ActiveX控件响应Windows消息
    source code analyzer 功能强大的C/C++源代码分析软件 Celerity CRACK 破解版
    分析函数调用关系图(call graph)的几种方法
    用CodeViz绘制函数调用关系图(call graph)
    C++的辅助工具介绍
    局域网入侵的方法
  • 原文地址:https://www.cnblogs.com/myt2000/p/11263794.html
Copyright © 2020-2023  润新知