zoukankan      html  css  js  c++  java
  • MySQL数据类型

    mysql数据类型:整型、浮点型、日期时间型、字符型。

    1.整型

    TINYINT             1字节        (-128,127)          (0,255)                       小整数值 

    SMALLINT          2字节     (-32 768,32 767)       (0,65 535)               大整数值 

    MEDIUMINT        3字节    (-8 388 608,8 388 607) (0,16 777 215)          大整数值 

    INT或INTEGER    4字节   (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 

    BIGINT              8字节   (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值 

    2.浮点型

    FLOAT          4字节   (-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) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

    M表示的是小数点之前的数字,D表示的是小数点之后的数字M>=D

    3.日期时间类型

     DATE       4        1000-01-01/9999-12-31 YYYY-MM-DD    日期值 

     TIME       3        '-838:59:59'/'838:59:59' HH:MM:SS       时间值或持续时间 

     YEAR       1         1901/2155               YYYY                    年份值 

     DATETIME    8       1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值

     TIMESTAMP  4       1970-01-01 00:00:00/2037 年某时 YYYYMMDD HHMMSS                     混合日期和时间值,时间戳

    4.字符型

        CHAR           0-255字节          定长字符串 

        VARCHAR      0-255字节          变长字符串 

        TINYBLOB     0-255字节        不超过 255 个字符的二进制字符串 

        TINYTEXT     0-255字节        短文本字符串 

        BLOB         0-65535字节      二进制形式的长文本数据 

        TEXT         0-65535字节      长文本数据 

        MEDIUMBLOB   0-16 777 215字节 二进制形式的中等长度文本数据 

        MEDIUMTEXT   0-16 777 215字节 中等长度文本数据 

        LOGNGBLOB    0-4 294 967 295字节 二进制形式的极大文本数据 

        LONGTEXT      0-4 294 967 295字节 极大文本数据

        VARBINARY(M)                   允许长度0-M个字节的定长字节符串,值的长度+1个字节

        BINARY(M)  M                    允许长度0-M个字节的定长字节符串

        ENUM('value1','value2'....)  1或者2个字节  枚举值(最多65535个值)

        SET('value1','value2'.....)  1,2,3,4或8个字节,取决于set成员的数目(最多64个成员)

    CHAR 和 VARCHAR 类型

      CHAR 类型用于定长字符串,并且必须在圆括号内用一个大小修饰符来定义。这个大小修饰符的范围从 0-255。比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补。

    CHAR 类型可以使用 BINARY 修饰符。当用于比较运算时,这个修饰符使 CHAR 以二进制方式参于运算,而不是以传统的区分大小写的方式。

       CHAR 类型的一个变体是 VARCHAR 类型。它是一种可变长度的字符串类型,并且也必须带有一个范围在 0-255 之间的指示器。CHAR 和 VARCHGAR 不同之处在于 MYSQL 数据库处理

    这个指示器的方式:CHAR 把这个大小视为值的大小,不长度不足的情况下就用空格补足。而 VARCHAR 类型把它视为最大值并且只使用存储字符串实际需要的长度

    (增加一个额外字节来存储字符串本身的长度)来存储值。所以短于指示器长度的 VARCHAR 类型不会被空格填补,但长于指示器的值仍然会被截短。

    因为 VARCHAR 类型可以根据实际内容动态改变存储值的长度,所以在不能确定字段需要多少字符时使用 VARCHAR 类型可以大大地节约磁盘空间、提高存储效率。

    VARCHAR 类型在使用 BINARY 修饰符时与 CHAR 类型完全相同。

    TEXT 和 BLOB 类型

      对于字段长度要求超过 255 个的情况下,MySQL 提供了 TEXT 和 BLOB 两种类型。根据存储数据的大小,它们都有不同的子类型。这些大型的数据用于存储文本块或图像、

    声音文件等二进制数据类型。

    TEXT 和 BLOB 类型在分类和比较上存在区别。BLOB 类型区分大小写,而 TEXT 不区分大小写。大小修饰符不用于各种 BLOB 和 TEXT 子类型。

    比指定类型支持的最大范围大的值将被自动截短。

  • 相关阅读:
    Python 从入门到实践
    Python 斐波那契数列
    Python 纸牌游戏
    Python hangman小游戏
    BC #49 1001 Untitled
    BC#50 1003 The mook jong
    BC #50 1001 Distribution money
    vector
    stack
    queue
  • 原文地址:https://www.cnblogs.com/wangshuyi/p/6437045.html
Copyright © 2011-2022 走看看