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

    分类

    类型

    M 

    UNSIGNED 

    ZEROFILL 

    范围

    说明

     

     

     

     

     

    bit 

    yes 

    no 

    no 

    1~64b 

    bit(2)表示2个二进制位,取值范围0~3

    tinyint 

    yes 

    yes 

    yes 

    1B 

    标记UNSIGNED时,范围为0~255。当标记ZEROFILL时,同时表示标记了UNSIGNED。当位数不足M时,添加前导0。例如tinyint(5),当值为123时,那么会添加2个前导零,即00123。

    smallint 

    yes 

    yes 

    yes 

    2B 

    同上

    mediumint 

    yes

    yes 

    yes 

    3B 

    同上

    int 

    yes 

    yes 

    yes 

    4B 

    同上

    integer 

    yes 

    yes 

    yes 

    4B 

    与int完全相同

    bigint 

    yes 

    yes 

    yes 

    8B 

    同上

     

     

     

     

     

    char 

    yes 

    no 

    no 

    255B 

    固定长度字符串类型。char(4),当数据长度为2时,会在后面添加2个空格补位。

    varchar 

    yes 

    no 

    no 

    65535B 

    可变长度字符串。varchar(4),当数据长度为2时,不会添加空格补位。占3个字节,其中一个字节用来记录长度。当数据长度大于255时,记录长度就需要2个字节了。

    tinytext 

    yes 

    no 

    no 

    28--1B

    可变长度字符串。

    text 

    no 

    no 

    no 

    216-1B

    同上。

    mediumtext 

    no 

    no 

    no 

    224-1B

    同上。

    longtext 

    no 

    no 

    no 

    232-1B

    同上。

     

     

     

     

    binary 

    yes 

    no 

    no 

    255B 

    固定长度二进制类型。binary(10),当数据为5B时,会添加5B来补位。即长度为10B。

    varbinary 

    yes  

    no 

    no 

    255B 

    可变长度二进制类型。varbinary(10),当数据为5B时,不会补位,长度为6B,其中1B用来记录长度。

    tinyblob 

    no 

    no 

    no 

    28--1B(256B)

    可变长度二进制类型。

    blob 

    no 

    no 

    no 

    216-1B(64K)

    同上

    mediumblob 

    no 

    no 

    no 

    224-1B(16M)

    同上

    longblob 

    no 

    no 

    no 

    232-1B(4G)

    同上

     

     

     

     

    float 

    yes 

    yes 

    yes 

    ±3.4E38

    float(5,2)表示长度为5,其中2位小数。与Java中float精度相同!

    double 

    yes 

    yes 

    yes 

    ±1.79E308

    同上。

    numeric 

    yes  

    yes  

    yes 

    小数点前后有效位之和不大于65位。

    使用与float、double相同,但存储方式不同,把9位十进制数压缩成4个字节来存储。相当与把浮点数当成字符来保存,但进行了压缩。比float、double更安全可靠。不会出现精度缺失的问题。

    decimal 

    yes 

    yes 

    yes 

    65位

    在MySQL中decimal与numeric是完全相同的。二者在表示钱时,很有用。

    bool 

    no 

    no 

    no 

    no 

    表示布尔值,但真实上是使用tinyint(1)表示的。当值为0时表示假,当值为非0时表示真。-128也是真。

    boolean 

    no 

    no 

    no 

    no 

    与bool完全相同。

     


    date 

    no 

    no 

    no 

    no 

    yyyy-mm-dd 

    datetime 

    no 

    no 

    no 

    no 

    yyyy-mm-dd hh:mm:ss 

    timestamp 

    yes 

    no 

    no 

    no 

    时间戳,用在记录插入与更新自动记录时间。

    year 

    yes 

    no 

    no 

    no 

    year(2),表示两位的年

    time 

    no 

    no 

    no 

    no 

    只表示时间

     

  • 相关阅读:
    12_2 数据分析工具包。
    11_29
    11_28 mongoDB与scrapy框架
    11_28,selenium定位元素,cookies获取
    11_26爬虫find与findall
    day_93_11_25爬虫一requests,项目框架
    11_14flask的启动和orm,反向生成model
    11_13Local与偏函数
    11_12 路由与正则
    day83_11_1 阿里配python使用。
  • 原文地址:https://www.cnblogs.com/Prozhu/p/5540343.html
Copyright © 2011-2022 走看看