MySQL 数据类型

1、整数类型

    整数类型:TINYIINT(8)、SMALLINT(16)、MEDIUMINT(24)、INT(32)、BIGINT(64)。括号后面分别表示可以存储的位数,他们值的区间范围分别是:-2的(n-1)次方 到 2的(n-1) 次方

    整数可控制不为负数,如果你选择属性UNSIGNED属性

    给整数类型指定额定宽度没任何意义:因为它不会限制值的合法范围,只规定MySQL的一些交互工具用来显示字符的个数。对于存储和计算来说:INT(1)和INT(20)一样

   

2、日期和时间类型

    除特殊情况之外,通常也应该尽量使用TIMESTAMP,因为它比DATETIME空间效率更高。

    DATETIME

--此类型能保存大范围的值,从1001 ~ 9999年,精度为秒。但它与时区无关。使用8个字节的存储空间。

    TIMESTAMP

--此类型保存了从1970年1月1日午夜(格林尼治标准时间)以来的秒数。TIMESTAMP只使用4字节的存储空间,因为它的日期范围从1970年到2038年


3、实数类型

    实数即是带小数点的数字。MySQL 5.0或更高版本建议使用 DECIMAL,因为MySQL服务器自身实现了DECIMAL的高精度计算


4、字符串类型

    VARCHAR 

--类型用于存储可变长字符串,它比定长类型更节省空间,因为它仅使用必要空间。

--例外情况:如果MySQL表使用ROW_FORMAT=FIXED创建,每一行都会使用定长存储,这会浪费很多空间;

--下面这些情况使用VARCHAR合适:使用了像UTF-8这样复杂的字符集,每个字符都使用不同的字节数进行存储;

--VARCHAR需使用1或2个额外字节记录字符串的长度

    CHAR

--类型是定长的。适合存储很短的字符串,或者所有值都接近同一个长度。

--定长的CHAR不容易产生碎片,对于非常短的列,CHAR比VARCHAR在存储空间上更加有效率。

--例如CHAR(1)来存储只有Y和N的值或定长的密码字段。

--如果采用单字节字符集只需要一个字节,但是VARCHAR(1)却需要两个字节,因为还有一个记录长度的额外字节

--当存储CHAR值时,MySQL会删除所有的末尾空格


5、BLOB 和 TEXT 类型

    BLOB

--采用二进制方式存储。

    TEXT

--采用字符方式存储。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值