MySQL的数据类型

整数类型有:

Tinyint、smallint、mediumint、int、bigint这五种 。

属性:unsigned

长度:可以为整数类型制定宽度,例如:int(11)对大多数应用是没有意义的,他不会限制值得合法范围,只会影响显示字符的个数。

实数类型有:

Float、double、decimal这三种。

Decimal可以储存比bigint还大的整数,可用于存储精确的小数。小数点后有几位都可以精确地储存下来。

Float和double类型支持使用标准的浮点进行近似计算,对于计算来说float和double的效率更高一些

字符串类型有:

Varchar、char、text、blob这四种。

Varchar类型是用来存储可变长得字符串,它比定长类型更省空间。需要注意的是,varchar使用1或2个额外字节来记录字符串的长度,列长度小于255字节,使用1个字节表示,否则用2个字节表示。对于varchar来说,如果它储存的内容超出指定长度的话,会被截断。

Char是定长的,根据定义的字符串长度分配足够的空间。

Char会根据需要的采用空格进行填充以方便比较。

Char适合储存很短的字符串,或者所有的值都接近同一长度。Char同样只要它超出了字符串的长度,也会被截断。

对于经常变更的数据来说,使用char比使用varchar要更好,因为char不容易产生碎片。

对于非常短的列,char要比varchar在存储空间上来说更有效率。只分配真正需要的空间,更长的列会消耗更多的内存。

对于blob和text类型来说,要尽量的避免使用它,因为它们查询会使用临时表,导致严重的性能开销。

枚举类型

有时可以使用枚举来代替常用的字符串类型。

把不重复的集合存储成一个预定义集合。

枚举的值时非常紧凑的,把列表的值压缩到一个或者两个字节。

内部储存的其实是整数。

尽量避免使用数字作为enum枚举的常量,因为容易混乱。

排序是按照内部储存的整数来进行排序。

枚举会使表大小大大减小。

日期时间类型

尽量使用timestamp,比datetime空间效率高。

用整数保存时间戳的格式通常不方便处理。

如果我们要储存微妙,可以使用bigint储存。

列属性

常见的列属性有:

auto_increment、default、notnull、zreofill

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值