美文网首页
MySQL 从零开始学(三) MySQL 数据类型

MySQL 从零开始学(三) MySQL 数据类型

作者: Theodore的技术站 | 来源:发表于2019-03-14 15:21 被阅读0次

    MySQL 数据类型的介绍

    (1).数值数据类型:包括整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、浮点小数数据类型 FLOAT 和 DOUBLE,定点小数类型 DECIMAL。
    (2).日期/时间类型:包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。
    (3).字符串类型:包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。字符串类型又分为文本字符串和二进制字符串。

    整数类型

    MySQL 有多种整数类型,取值范围不同,可以添加 AUTO_INCREMENT 自增约束条件。


    image.png image.png

    例如:
    一个字段 id INT(11). 这个后面的数字 11,表示的是该数据类型指定显示的宽度。
    显示的宽度和数据类型的范围是无关的,如果插入的数值大于显示的宽度,数值仍然是可以插入的,也可以显示,只要不超过取值范围。

    不指定显示宽度,系统会指定默认宽度。
    例如:


    image.png

    浮点数类型和定点数类型

    浮点数类型和定点数类型都可以用(M,N)来表示,M 是精度,表示总共位数;N 是标度,是小数的位数。


    image.png

    DECIMAL 和 DOUBLE 最大取值范围一样,DECIMAL 的存储空间不是固定的,而由其精度值 M 决定,占用 M+2 个字节。

    image.png

    定点数和浮点数,如果插入的数据超过用户指定的精度,都会四舍五入进行处理。


    image.png

    浮点数对于定点数的优点是长度一定的情况下,浮点数能表示更大的数据范围,但是会引起精度问题。定点数以字符串形式储存,对精度要求比较高的手,DECIMAL 的类型会比较好。

    日期与时间类型

    image.png

    在这里不细说了,只说一些语法注意事项:
    YEAR:
    在插入的时候可以以 2 位字符插入,范围是 '00' 到 '99'。‘00’ ~ ‘69’ 和 ‘70’ ~ ‘99’,分别转换为 2000~2069 和 1970~1999。数字 00~99 也是一样。

    TIME:
    格式为 ‘HH:MM:SS’。
    插入时可以使用非严格语法:
    ‘HH:MM:SS’、'HH:MM'、'D HH:MM'、'D HH' 或 'SS'。
    没有冒号的时候:
    ‘HHMMSS’ ‘109712’ 会被认为不合法,时间 97 超过了范围。

    DATE:
    可以以 ‘YYYY-MM-DD’ 或者 ‘YYYYMMDD’ 格式插入。
    也可以以 ‘YY-MM-DD’ 和 ‘YYMMDD’ 或者 YY-MM-DD 和 YYMMDD 格式插入。

    也可以用 CURRENT_DATE 和 NOW() 前者只有日期,后者有日期和时间,但是保存到数据库的时候也只有日期部分。

    DATETIME
    可以以 ‘YYYY-MM-DD HH:MM:SS’ 或者 ‘YYYYMMDDHHMMSS’, ‘YY-MM-DD HH:MM:SS’ 或者 ‘YYMMDDHHMMSS’,YYYYMMDDHHMMSS 或者 YYMMDDHHMMSS格式 插入。

    TIMESTAMP
    格式也是 ‘YYYY-MM-DD HH:MM:SS’ 取值范围小于 DATETIME,为‘1970-01-01 00:00:01’ UTC~‘2038-01-19 03:14:07’UTC。

    文本字符串类型

    CHAR 和 VACHAR
    除了存储字符串数据之外,还可以存储比如图片和声音的二进制数据。

    image.png

    CHAR 和 VACHAR 区别


    image.png

    TEXT 类型

    image.png

    ENUM 类型
    格式 字段名 ENUM('值1','值2',。。。'值n') 最多可以有 65545 各元素。

    image.png

    SET 类型
    SET('值1','值2',....'值n') 最多 64 个成员,不允许重复。

    二进制字符串类型

    image.png

    BIT 类型
    范围是 1~64 ,不指定默认为 1。

    image.png image.png

    BINARY 和 VARBINARY
    BINARY 是固定长度,填充不足的时候用 ‘\0’ 补齐,VARBINARY 是变长,如果填充不足的时候,是实际长度加1。

    image.png
    image.png

    BLOB 类型

    image.png

    相关文章

      网友评论

          本文标题:MySQL 从零开始学(三) MySQL 数据类型

          本文链接:https://www.haomeiwen.com/subject/hsgfmqtx.html