• MySQL 数据类型总结及选取准则


    整数

    整数有 TINYINT, SMALLINT, MEDIUMINT, INT 和 BIGINT 类型。

    占用    8          ,  16            24,            32,     64      bit。

    为整数指定长度没有意义,如 INT(11) ,它能存储的还是 32 位数据。

    实数

    DECIMAL 运算没有精度丢失。

    FLOAT,DOUBLE 运算有精度丢失。

    DECIMAL 可以存储准确的小数和整数位,如 DECIMAL(18,9)

    由于 DECIMAL 在空间占用上比较多,并且运算复杂,一般只用来存储不允许精度丢失,并且要得到准确的小数位数的场合,比如说金融数据。

    String 类型

    1. VCHAR 类型和 CHAR 类型

    VARCHAR 用来存储变长的字符数据,并且需要额外的一到两个字节来存储字符数据的长度。

    VARCHAR 一般用来存储 5000 字符以下的数据。

    CHAR 用来存储定长的字符数据。适用于列的长度都非常短或者存储数据的长度近似一致的场合。如 MD5,存储 Y,N 数据。

    2. BLOB 和 TEXT 类型

    BLOB 和 TEXT 用在存储大量数据(包括二进制和字符型)的场合。

    两者的区别在于,BLOB 存储的是二进制数据,而 TEXT 存储的是字符数据

    TEXT 一般用来存储 5000 字符以上的数据,对于这样的数据,应该单独独立出一张表,用 id 对应,以免影响母表的索引效率。

    3. 在一些场合,可以使用 enum 来代替 STRING 类型

    DATE 和 TIME 类型

    DATE 的精度是秒,格式是 YYYYMMDDHHMMSS,和时区无关。

    存储范围: 1001-9999

    TIMESTAMP 的精度是S,存储的是从1970.1.1 零点到当前过去的秒数。依赖于时区。

  • 相关阅读:
    进程与线程的介绍
    内存结构篇:直接内存
    内存结构篇:方法区
    内存结构篇:堆
    内存结构篇:本地方法栈
    内存结构篇:虚拟机栈
    内存结构篇:程序计数器
    Error: Rule can only have one resource source (provided resource and test + include + exclude) in {
    iview-admin(cli3 + webpack4 )解决兼容ie9+ 方案
    日期插件 js
  • 原文地址:https://www.cnblogs.com/reycg-blog/p/7918413.html
Copyright © 2020-2023  润新知