• mysql(数据类型)


    MySQL 的数据类型有大概可以分为 5 种,分别是整数类型、浮点数类型和定点数类型、日期和时间类型、字符串类型、二进制类型等。
    注意:整数类型和浮点数类型可以统称为数值数据类型。

    1 数值类型
      整数类型包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型包括 FLOAT 和 DOUBLE,定点数类型为 DECIMAL。

    2 日期/时间类型  
      包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。

    3 字符串类型
      包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。

    4 二进制类型
      包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。




    数值类型:

    MySQL 主要提供的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件。下表中列出了 MySQL 中的数值类型。

    TINYINT

    很小的整数

    1个字节

    SMALLINT

    小的整数

    2个宇节

    MEDIUMINT

    中等大小的整数

    3个字节

    INT (INTEGHR)

    普通大小的整数

    4个字节

    BIGINT

    大整数

    8个字节




    字符串类型:

    CHAR(M)

    固定长度非二进制字符串

    M 字节,1<=M<=255

    VARCHAR(M)

    变长非二进制字符串

    L+1字节,在此,L< = M和 1<=M<=255

    TINYTEXT

    非常小的非二进制字符串

    L+1字节,在此,L<2^8

    TEXT

    小的非二进制字符串

    L+2字节,在此,L<2^16

    MEDIUMTEXT

    中等大小的非二进制字符串

    L+3字节,在此,L<2^24

    LONGTEXT

    大的非二进制字符串

    L+4字节,在此,L<2^32

    ENUM

    枚举类型,只能有一个枚举字符串值

    1或2个字节,取决于枚举值的数目 (最大值为65535)

    SET

    一个设置,字符串对象可以有零个或 多个SET成员

    1、2、3、4或8个字节,取决于集合 成员的数量(最多64个成员)






    注意:

    CHAR 和 VARCHAR 类型
      1.CHAR(M) 为固定长度字符串,在定义时指定字符串列长。当保存时,在右侧填充空格以达到指定的长度。M 表示列的长度,范围是 0~255 个字符。

      2.例如,CHAR(4) 定义了一个固定长度的字符串列,包含的字符个数最大为 4。当检索到 CHAR 值时,尾部的空格将被删除。

      3.VARCHAR(M) 是长度可变的字符串,M 表示最大列的长度,M 的范围是 0~65535。VARCHAR 的最大实际长度由最长的行的大小和使用的字符集确定,而实际占用的空间为字符串的实际长度加 1。

      4.例如,VARCHAR(50) 定义了一个最大长度为 50 的字符串,如果插入的字符串只有 10 个字符,则实际存储的字符串为 10 个字符和一个字符串结束字符。VARCHAR 在值保存和检索时尾部的空格仍保留。

        5.下面将不同的字符串保存到 CHAR(4) 和 VARCHAR(4) 列,说明 CHAR 和 VARCHAR 之间的差别,如下表所示。


    CHAR(4)

    存储需求

    VARCHAR(4)

    存储需求

     ''

    4字节

      ''

    1字节

    'ab'

    4字节

     'ab'

    3字节

    'abc'

    4字节

     'abc'

    4字节

    'abcd'

    4字节

     'abcd'

    5字节

    小数类型:


    FLOAT

    单精度浮点数

    4 个字节

    DOUBLE

    双精度浮点数

    8 个字节


    日期时间:

    YEAR

    YYYY

     

    1901 ~ 2155

    1 个字节

     

    TIME

    HH:MM:SS

     

    -838:59:59 ~ 838:59:59

     

    3 个字节

    DATE

    YYYY-MM-DD

     

    1000-01-01 ~ 9999-12-3

     

    3 个字节

    DATETIME

    YYYY-MM-DD HH:MM:SS

     

    1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

     

    8 个字节

    TIMESTAMP

     

    YYYY-MM-DD HH:MM:SS

     

    1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07

     

    4 个字节

  • 相关阅读:
    JAVA基础集合(二)
    JAVA基础XML的解析
    JAVA基础集合(一)
    JAVA基础网络编程
    JAVA基础File类
    JAVA基础IO流(二)
    JAVA基础JDBC二(常用的开源工具)
    JAVA基础异常
    JAVA基础JDBC(一)
    JAVA基础反射
  • 原文地址:https://www.cnblogs.com/Pynu/p/15980839.html
Copyright © 2020-2023  润新知