zoukankan      html  css  js  c++  java
  • [转]mysql 数据类型

    原文地址:https://github.com/jaywcjlove/handbook/blob/master/MySQL/MySQL%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.md

    MySQL数据类型

    • 数字类型
      • 整数: tinyint、smallint、mediumint、int、bigint
      • 浮点数: float、double、real、decimal
    • 日期和时间: date、time、datetime、timestamp、year
    • 字符串类型
      • 字符串: char、varchar
      • 文本: tinytext、text、mediumtext、longtext
    • 二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob

    字符串类型

    类型单位最大特性
    CHAR 字符 最大为255字符 存储定长,容易造成空间的浪费
    VARCHAR 字符 可以超过255个字符 存储变长,节省存储空间
    TEXT 字节 总大小为65535字节,约为64KB -
    • TEXT在MySQL内部大多存储格式为溢出页,效率不如CHAR
    • Mysql默认为utf-8,那么在英文模式下1个字符=1个字节,在中文模式下1个字符=3个字节。

    数字类型

    整形

    typeStorageMinumun ValueMaximum Value
      (Bytes) (Signed/Unsigned) (Signed/Unsigned)
    TINYINT 1 -128 127
        0 255
    SMALLINT 2 -32768 32767
        0 65535
    MEDIUMINT 3 -8388608 8388607
        0 16777215
    INT 4 -2147483648 2147483647
        0 4294967295
    BIGINT 8 -9223372036854775808 9223372036854775807
        0 18446744073709551615

    浮点型

    属性存储空间精度精确性说明
    FLOAT(M, D) 4 bytes 单精度 非精确 单精度浮点型,m总个数,d小数位
    DOUBLE(M, D) 8 bytes 双精度 比Float精度高 双精度浮点型,m总个数,d小数位
    • FLOAT容易造成精度丢失

    定点数DECIMAL

    • 高精度的数据类型,常用来存储交易相关的数据
    • DECIMAL(M,N).M代表总精度,N代表小数点右侧的位数(标度)
    • 1 < M < 254, 0 < N < 60;
    • 存储空间变长

    时间类型

    类型字节精确性
    DATE 三字节 2015-05-01 精确到年月日
    TIME 三字节 11:12:00 精确到时分秒
    DATETIME 八字节 2015-05-01 11::12:00 精确到年月日时分秒
    TIMESTAMP   2015-05-01 11::12:00 精确到年月日时分秒
    • MySQL在5.6.4版本之后,TIMESTAMPDATETIME支持到微妙。
    • TIMESTAMP会根据系统时区进行转换,DATETIME则不会
    • 存储范围的区别
      • TIMESTAMP存储范围:1970-01-01 00::00:01 to 2038-01-19 03:14:07
      • DATETIME的存储范围:1000-01-01 00:00:00 to 9999-12-31 23:59:59
    • 一般使用TIMESTAMP国际化
    • 如存时间戳使用数字类型BIGINT
  • 相关阅读:
    架构师的成长之路初片~ntp时间同步
    架构师的成长之路初片~水晶头的颜色排序
    架构师的成长之路初片~Python-邮件(smtplib)、requests模块、API接口调用
    架构师成长之路之~调优思维
    架构师的成长之路初片~python~调整背景及滚轮+各种快捷键
    架构师成长之路之~Node.js安装篇
    微服务技术栈
    C#资源释放(托管资源、非托管资源)
    Beyond Compare 4 密匙
    MySql批量导入 .netcore命名空间完全相同问题
  • 原文地址:https://www.cnblogs.com/dirgo/p/9110674.html
Copyright © 2011-2022 走看看