zoukankan      html  css  js  c++  java
  • 5、mysql数据类型

    mysql中定义数据字段的类型对你的数据库的优化是非常重要的。

    mysql支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

    一、数值类型

    mysql支持所有标准sql数值数据类型

    这些类型包括严格数值数据类型(integer、smallint、decimal、numeric),以及近似数值数据类型(float、real、double、double precision)

    关键字int是integer的同义词,关键字dec是decimal的同义词

    bit数据类型保存位字段值,并且支持myisam、memory、innoDB和BDB表

    作为sql标准的扩展,mysql也支持整数类型tinyint、mediumint、bigint。

    类型           大小-字节                       范围-有符号                 范文-无符号                   用途

    tinyint         1    小整数值

    smallint      2    大整数值

    mediumint  3   大整数值

    int/integer   4   大整数值

    bigint          8   极大整数值

    float           4    单精度浮点数值

    double       8   双精度浮点数值

    decimal     decimal(M,D) 小数值

    二、日期和时间类型

    表示时间值的日期和时间类型为datetime、date、timestamp、time和year

    每个时间类型有一个有效值范围和零值,当指定不合法的mysql不能表示的值时使用零值。

    timestamp类型有专用的自动更新特性,将在后面描述。

    类型         大小          格式                        用途

    date           3              YYYY-MM-DD       日期值

    time           3              HH:MM:SS             时间值或持续时间

    year           1              YYYY                     年份值

    datetime    8               YYYY-MM-DD HH:MM:SS   混合日期和时间值

    timestamp  4              YYYYMMDD HHMMSS  混合日期和时间值,时间戳

    三、字符串类型

    字符串类型指char、varchar、binary、varbinary、blob、text、enum和set

    类型                  大小字节                    用途

    char                   0-255                    定长字符串

    varchar              0-65535                变长字符串

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

    tinytext               0-255                   短文本字符串

    blob                    0-65535               二进制形式的长文本数据

    text                     0-65535               长文本数据

    mediumblob       0-16777215         二进制形式的中等长度文本数据

    mediumtext        0-16777215           中等长度文本数据

    longblob             0-4294967295      二进制形式的极大文本数据

    longtext              0-4294967295       极大文本数据                    

    char和varchar类型类似,但它们保存和检索的方式不同,它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

    BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

    BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

    有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

  • 相关阅读:
    PAT (Advanced Level) 1114. Family Property (25)
    PAT (Advanced Level) 1113. Integer Set Partition (25)
    PAT (Advanced Level) 1112. Stucked Keyboard (20)
    PAT (Advanced Level) 1111. Online Map (30)
    PAT (Advanced Level) 1110. Complete Binary Tree (25)
    PAT (Advanced Level) 1109. Group Photo (25)
    PAT (Advanced Level) 1108. Finding Average (20)
    PAT (Advanced Level) 1107. Social Clusters (30)
    PAT (Advanced Level) 1106. Lowest Price in Supply Chain (25)
    PAT (Advanced Level) 1105. Spiral Matrix (25)
  • 原文地址:https://www.cnblogs.com/myheart-new/p/11947188.html
Copyright © 2011-2022 走看看