mysql数据类型详解

昨天我的一对多聊天系统考核,由于数据库中我的大多字段用的都是char类型的,(好吧,自己总感觉char是万能的,什么都可以存)其实这样是不对的,要根据不同字段的需要去确定到底用什么数据类型,减少空间占用的问题。

下面来所以下mysql的数据类型:


首先说日期型的吧

mysql数据类型详解
data日期,占有3个字节,格式为YYYY-MM-DD,
eg:2016-05-22
time时间,占用3个字节,格式为hh:mm:ss,
eg:09:07:30
datatime日期+时间,占用8个字节,格式为YYYY-MM-DD hh:mm:ss,
eg:2016-05-22 09:07:30
timestamp自动存储记录修改的时间,占用4个字节
(这是一个比较特别的数据类型,它可以自动在你不使用程序更新
的情况下只要你更新了记录,timestamp就会自动更新时间)
year年份,占用1个字节,


















下面接着说数值类型的,数值类型分为整形和浮点型

或后面的是加上unsigned关键字,对应的取值范围翻倍哦

说下整形

mysql数据类型详解
tinyint占用1个字节,范围是(-128~127)或(0~255)
smalint占用2个字节,范围(-32768~32767)或(0~65535)
mediumint占用3个字节,范围(-8388608~8388607)或
(0~16777215)
int占用4个字节,范围(-2147483648~2147483647)或
(0~4294967295)
bigint占用8个字节,范围(+-9*10^18)或(9*10^18*2)









浮点型

mysql数据类型详解
float(m,d)单精度浮点型,占用4个字节,m个总个数,d个小数位
double(m,d)双精度浮点型,占用8个字节,m个总个数,d个小数位
decimal(m,d)存储为字符串的浮点数









最后说下字符串类型的

mysql数据类型详解
char(n)支持固定长度的字符串,最大长度为255
varchar(n)支持可变长度的字符串,最大长度为65535
textblob支持可变长度的字符串,最大长度为65535
tinytext支持可变长度的字符串,最大长度是255
mediumtext支持可变长度的字符串,最大长度2^24-1
longtext支持可变长度的字符串,最大长度2^32-1












最后来说下其它数据类型

eunm
('number1'…‘’number65535'')
枚举型,最多可以包含65532个成员,定义某列为枚举后,
该列的值限定为枚举中的定义的值。(注意:如果枚举中
包含null值,则默认值为null,如果为not null,则第一个成
员为默认值)
set
("number"…,“number64”)
集合型,可以有0个或多个值,最多可有64个不同的成员,
其值来自表创建时规定的允许的一列值,set成员本身不可
包含逗号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值