mysql支持的数据类型简介

    每张数据表至少有一个数据列,每个数据列必须有一个数据类型。本文说一下mysql支持的数据类型。
1. 整数(xxxINT)
    整数包括正数和负数,但如果给INT数据列定义了UNSIGNED,则只包含正数。对于整数又包含如下几种类型:
    TYNYINT、SMALLINT、MEDIUMINT、INT、BIGINT,它们分别为8、16、24、32、64位整数。另外mysql还有一个类型:SERIAL,这是BIGINT AUTO_INCREMENT NOT NULL PRIMARY KEY的简写。
2. 浮点数
    mysql中分单精度和双精度浮点数,它们分别为FLOAT、DOUBLE。这设置浮点数时可以用m和d来设置数据的精度,如:FLOAT(10, 3)、DOUBLE(10, 3)分别表示整数位保存10位,小数点后经确定3位的单精度和双精度数据。对于DOULBE,mysql中还有一个REAL为它的同名词。
3. 定点数(DECIMAL)
    myql在把数据保存为FLOAT和DOUBLE时,会进行必要的舍入,如果因此带来的误差不可接受,就应该使用DECIMAL。DECIMAL以字符串的形式存储数据,并且不允许使用指数形式,所以它会占用更多的空间。它的使用方法为:
    DECIMAL(p, s):p和s分别设定了数据值的数字总个数(最大65位)和小数点后面的数字个数(最大30位)。
4. 日期和时间(DATE、TIME、DATETIME、TIMESTAMP)
    DATE、TIME、DATETIME这三种类型很好理解,它们分别表示日期、时间即日期+时间。这里说明一下TIMESTAMP,它的角色比较特殊,这个类型的字段会在数据记录的其他字段被修改时自动刷新,从效果上看,这个字段里的日期/时间值其实就是数据记录的最后一次修改时间。TIMESTAMP也有自己的属性,用于控制TIMESTAMP的刷新行为:
    TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP:
    在创建记录和修改现有记录时,都对这个数据列进行刷新,同单独的TIMESTAMP的效果是一样的。
    TIMESTAMP DEFAULT CURRENT_TIMESTAMP:
    在创建记录时设置当前时间,以后修改不再刷新
    TIMESTAMP ON UPDATE CURRENT_TIMESTAMP:
    创建时,值设置为0,后续更新时刷新
    TIMESTAMP DEFAULT 'yyyy-mm-dd hh:mm:ss' ON UPDATE CURRENT_TIMESTAMP:
    创建时设置默认值,后续更新时进行刷新
5. 文本类型
    mysql中支持的文本类型包括:CHAR,VARCHAR,TYNYTEXT,TEXT,MEDIUMTEXT,LONGTEXT.每种类型支持不同长度的文本。其中前三种最多支持255个字节长度,后面三种分别支持最长长度为:2^16-1,2^32-1,2^64-1个字节。
6.二进制数据
    二进制数据类型包括BIT和BLOB,它们存储二进制的对象。具体包括:BIT,TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB.长度与TEXT中的一致。BIT最多支持64位二进制,TYNYBLOB最多支持255位,后面三种最多支持:2^16-1,2^32-1,2^64-1位2进制。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值