• 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 类型,可存储的最大长度不同,可根据实际情况选择。

  • 相关阅读:
    Hadoop 2.6.0-cdh5.4.0集群环境搭建和Apache-Hive、Sqoop的安装
    Hive数据仓库笔记(三)
    Hive数据仓库笔记(二)
    Hive数据仓库笔记(一)
    HBase新的客户端接口
    Hadoop之Secondary NameNode
    hadoop2.x源码编译
    基于新浪SAE平台的微信开发
    分布式存储系统-HBASE
    编程珠玑--心得
  • 原文地址:https://www.cnblogs.com/myheart-new/p/11947188.html
Copyright © 2020-2023  润新知