mysql数据类型详解

来源:互联网 发布:淘宝客广告语 编辑:程序博客网 时间:2024/06/05 21:10

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

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


首先说日期型的吧

mysql数据类型详解data日期,占有3个字节,格式为YYYY-MM-DD,
eg:2016-05-22time时间,占用3个字节,格式为hh:mm:ss,
eg:09:07:30datatime日期+时间,占用8个字节,格式为YYYY-MM-DD hh:mm:ss,
eg:2016-05-22 09:07:30timestamp自动存储记录修改的时间,占用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)支持固定长度的字符串,最大长度为255varchar(n)支持可变长度的字符串,最大长度为65535textblob支持可变长度的字符串,最大长度为65535tinytext支持可变长度的字符串,最大长度是255mediumtext支持可变长度的字符串,最大长度2^24-1longtext支持可变长度的字符串,最大长度2^32-1












最后来说下其它数据类型

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

0 0