设为首页 加入收藏

TOP

mysql数据类型分析总结(二)
2015-11-21 01:55:29 来源: 作者: 【 】 浏览:1
Tags:mysql 数据 类型 分析 总结
EDIUMTEXT、LONGTEXT)。除了用于比较和排序外,它们在各个方面都与相应的BLOB类型等同,BLOB值是区分大小写的,而TEXT值不区分大小写。BLOB和TEXT列对于存储可能有很大增长的值或各行大小有很大变化的值很有用,例如,字处理文档、图像和声音、混合数据以及新闻文章等等。

ENUM和SET是一种特殊的串类型,其列值必须从一个固定的串集中选择。它们之间的主要差别是ENUM列值必须确实是值集中的一个成员,而SET列值可以包括集合中任意或所有的成员。换句话说,ENUM用于互相排斥的值,而SET列可以从一个值的列表中选择多个值。可对ENUM成员按名或者按编号进行运算,SET列的数值表示与ENUM列的表示有所不同,集合成员不是顺序编号的。每个成员对应SET值中的一个二进制位。第一个集合成员对应于0位,第二个成员对应于1位,如此等等。

可对CHAR和VARCHAR类型指定BINARY属性使列值作为二进制串处理(即,在比较和排序操作区分大小写)。可对任何串类型指定通用属性NULL和NOTNULL。如果两者都不指定,缺省值为NULL。但是定义某个串列为NOTNULL并不阻止其取空串。空值不同于遗漏的值,因此,不要错误地认为可以通过定义NOTNULL来强制某个串列只包含非空的值。还可以对除BLOB和TEXT类型外的所有串列类型用DEFAULT属性指定一个缺省值。如果不指定缺省值,MySQL会自动选择一个。对于可以包含NULL的列,其缺省值为NULL。对于不能包含NULL的列,除ENUM列外都为空串,在ENUM列中,缺省值为第一个枚举成员。

日期与时间列类型

DATE“YYYY-MM-DD”格式表示的日期值

TIME“hh:mm:ss”格式表示的时间值

DATETIME“YYYY-MM-DDhh:mm:ss”格式

TIMESTAMP“YYYYMMDDhhmmss”格式表示的时间戳值

YEAR“YYYY”格式的年份值

日期和时间列类型

DAT E “ 1000 - 01 - 01 ”到“ 9999- 12 - 31 ”

TI M E “ - 838:59:59”到“83 8 : 5 9 : 5 9”

DAT E T I M E “ 1000 - 01 - 01 00:00:00” 到“ 9999- 12 - 31 23:59:59”

TI M E S TA M P [ (M) ] 19700101000000 到2037年的某个时刻

YE A R [ (M) ] 1901 到21 5 5

TIMESTAMP显示格式

TI M E S TA M P ( 1 4 ) Y Y Y Y M M D D h h m m s s

TI M E S TA M P ( 1 2 ) Y Y Y Y M M D D h h m m

TI M E S TA M P ( 1 0 ) Y Y M M D D h h m m

TI M E S TA M P ( 8 ) Y Y Y Y M M D D

TI M E S TA M P ( 6 ) Y Y M M D D

TI M E S TA M P ( 4 ) Y Y M M

TI M E S TA M P ( 2 ) Y Y

日期和时间列类型的存储需求

DAT E 3 字节

TI M E 3 字节

DAT E T I M E 8 字节

TI M E S TA M P 4 字节

YE A R 1 字节

如果将DATE 值赋给DATETIME 列,MySQL会自动地追加一个为“00 : 0 0 : 0 0”的时间部分。TI M E S TAMP 类型之所以得到这样的名称是因为它在创建或修改某个记录时,有特殊的记录作用。如果在一个TI M E S TAMP 列中插入NU L L,则该列值将自动设置为当前的日期和时间。在建立或更新一行但不明确给TI M E S TAMP 列赋值时也会自动设置该列的值为当前的日期和时间。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇小贝_mysql表优化 下一篇Ubuntu安装MySQL和Python库MySQLd..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: