zoukankan      html  css  js  c++  java
  • MySQL 的数据类型,有哪些?

    实数:

    数据类型 多少个字节 范围(有符号) 范围(无符号) 默认值可设置为 是否必须指定 length
    TINYINT 1 (-128,127) (0,255) '0' 可指定 length
    SMALLINT 2 (-32 768,32 767) (0,65 535) '0' 可指定 length
    MEDIUMINT 3 (-8 388 608,8 388 607) 0 ~ 16 777 215(1677 万) '0' 可指定 length
    INT 或 INTEGER 4 (-2 147 483 648,2 147 483 647) 0 ~ 4 294 967 295(42 亿) '0' 可指定 length
    BIGINT 8 (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) 0 ~ 18 446 744 073 709 551 615(1844 亿亿,18446兆(一万亿等于一兆,亿亿就是:十兆;)) '0' 可指定 length

    复数:

    数据类型 多少个字节 范围(有符号) 范围(无符号) 默认值可设置为 是否必须指定 length,decimals
    FLOAT 4(MySQL 数据类型(float)的注意事项 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 可指定
    DOUBLE 8 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 可指定
    DECIMAL DECIMAL(M总数字个数,D小数个数) ,每4个字节存9个数字,小数点占1个字节;
    例如,DECIMAL(18,9)小数点两边各存储9个数字,所以小数点两边各占用4个字节,再加上小数点本身占用1个字节,总共占用9个字节。
    依赖于M和D的值 依赖于M和D的值 可指定
    REAL 可指定
    NUMERIC 可指定

    字符串类型(char(n)、varchar(n) 中的 n,4.0版本以下指:字节长度,5.0 版本以上指:当前字符集的字符长度)

    计算:表中varchar类型的字段能容纳的最大字符数?:https://www.cnblogs.com/cag2050/p/10401538.html

    数据类型 大小 默认值可设置为 是否必须指定 length
    CHAR 0-255 字节 '' 可指定 length
    VARCHAR 0-65535 字节 '' 必须指定 length

    二进制字符串类型(BINARY 和 VARBINARY 存储的是二进制字符串,与字符集无关;BINARY(n)、VARBINARY(n) 中的n,指的是:字节长度)

    数据类型 大小 默认值可设置为 是否必须指定 length
    BINARY 0-255 字节 可指定 length
    VARBINARY 0-65535 字节 必须指定 length

    TEXT 类型(长文本数据)

    数据类型 大小 默认值可设置为(BLOB 和 TEXT 都不能有默认值) 是否必须指定 length
    TINYTEXT 0-255 字节 不能有默认值 不能指定 length
    TEXT 0-65535 字节 不能有默认值 可指定 length
    MEDIUMTEXT 0-16 777 215字节(1677 万字节) 不能有默认值 不能指定 length
    LONGTEXT 0-4 294 967 295字节(42 亿字节) 不能有默认值 不能指定 length

    BLOB 类型(二进制形式的长文本数据)

    数据类型 大小 默认值可设置为(BLOB 和 TEXT 都不能有默认值) 是否必须指定 length
    TINYBLOB 0-255 字节 不能有默认值 不能指定 length
    BLOB 0-65535 字节 不能有默认值 可指定 length
    MEDIUMBLOB 0-16 777 215字节(1677 万字节) 不能有默认值 不能指定 length
    LONGBLOB 0-4 294 967 295字节(42 亿字节) 不能有默认值 不能指定 length

    日期和时间类型

    类型 大小(字节) 范围 格式 默认值可设置为 是否必须指定 fsp
    DATE 3 1000-01-01 ~ 9999-12-31 YYYY-MM-DD 不能指定
    TIME 3 -838:59:59 ~ 838:59:59(此范围原因:
    https://www.oschina.net/question/195038_183439
    https://dev.mysql.com/doc/refman/8.0/en/time.html
    https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_sec-to-time)
    HH:MM:SS 可指定
    YEAR 1 1901 ~ 2155 YYYY 不能指定
    DATETIME 8 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
    (DATETIME 存储的是整数,与时区无关)
    (以'YYYY-MM-DD HH:MM:SS'还是YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用)
    YYYY-MM-DD HH:MM:SS 可指定
    TIMESTAMP 4 1970-01-01 00:00:00 ~ 2038-01-19
    结束时间是第 2147483647 秒(此数计算方法:2的31次方减1),
    北京时间:2038-1-19 11:14:07,
    格林尼治时间:2038年1月19日 凌晨 03:14:07
    (TIMESTAMP 存储是UTC时间戳,与时区相关;具体的时分秒,不同的时区有不同的值)
    (以'YYYY-MM-DD HH:MM:SS'还是YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用)
    (推荐用 TIMESTAMP:TIMESTAMP 使用 DATETIME 一半的空间;能保存时区;拥有特殊的自动更新能力)
    YYYYMMDD HHMMSS DEFAULT '0000-00-00 00:00:00'DEFAULT CURRENT_TIMESTAMPDEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    (说明:CURRENT_TIMESTAMP 等价于:CURRENT_TIMESTAMP(), NOW(), LOCALTIME, LOCALTIME(), LOCALTIMESTAMP, LOCALTIMESTAMP()
    可指定

    BIT 类型

    数据类型 大小 默认值可设置为 是否必须指定 length
    BIT 可指定 length

    ENUM、SET

    数据类型 大小 设置值
    ENUM ENUM(value1,value2,value3,...)
    SET SET(value1,value2,value3,...)

    JSON 类型(从 MySQL 5.7.8 开始支持)

    数据类型 大小 默认值可设置为 是否必须指定 length
    JSON 不能指定 length
  • 相关阅读:
    day5_python之hashlib模块
    day6_python之pickle、shelve序列化和反序列化
    day6_python之json序列化和反序列化
    day6_python之configparser_模块
    day1_python之字符串的常用操作
    day6_python序列化之 json & pickle & shelve 模块
    python如何自动发送邮件
    python selenium 获取对象输入的属性值
    python selenium 处理悬浮窗口(baidu tj_more)
    python selenium处理JS只读(12306)
  • 原文地址:https://www.cnblogs.com/cag2050/p/10368684.html
Copyright © 2011-2022 走看看