MySQL 数据类型详解

1.概述
    要了解一个数据库,我们也必须了解其支持的数据类型。MySQL支持所有标准的SQL数据类型,主要分3类:
    数值类型
    字符串类型
    时间日期类型

2.数值类型
(1) 整数类型

(2) 浮点型:

(3) 定点数:定点数类型就是decimal型。
     浮点数和定点数有其默认的精度,float和double默认会保存实际精度,但这与操作系统和硬件的精度有关。decimal型的默认整数位为10,小数位为0,即默认为整数。
     在mysql中,定点数以字符串形式存储,因此,其精度比浮点数要高,而且浮点数会出现误差,这是浮点数一直存在的缺陷。如果要对数据的精度要求比较高,还是选择定点数decimal比较安全,例如:存储金额。
     ps:numeric数据类型在功能上和decimal一样,但是在创建数据库表的时候,numeric会转换为decimal。

3.字符串类型
    字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

MySQl char和varchar的区别和适用选择?
     char是固定长度的字符类型,而varchar是可变长度的字符类型,这个一定要注意。另外进行select时数据末尾有空格的话,char会将其去掉。
如何选择:
    因为char无论存储数据长度本身长度多少,都会占用固定的长度,因此存储空间占用会有一定的浪费,而varchar由于是可变长度,这个问题就可以得到解决,但在性能上会受到一定的影响,对于长度基本变化不大,且要求查询速度的应用来讲,char会更加合适,而varchar更节约存储空间,
    如果是myisam的话,根据要求查询速度和数据存储空间的具体情况进行选择,像上面说的如果需要速度,数据长度变化不大就选char,如果数据长度变化大,且想要节约存储空间则最好使用varchar。
    如果是innodb的话建议使用varchar数据类型,因为对于innodb来讲内部的存储格式不区分可变长度和不变长度,这样char没有性能优势,而varchar更能节省存储空间,因此更推荐使用varchar数据类型。

4.时间日期类型
     DATE类型用在你仅需要日期值时,没有时间部分。MySQL检索并且以'YYYY-MM-DD'格式显示DATE值,支持的范围是'1000-01-01'到'9999-12-31'。
     TIME数据类型表示一天中的时间。MySQL检索并且以"HH:MM:SS"格式显示TIME值。支持的范围是'00:00:00'到'23:59:59'。  
     DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。
      TIMESTAMP类型同样包含日期和时间,范围从'1970-01-01 00:00:01' 到'2038-01-19 03:14:07' 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员学习圈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值