Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15519
  • 博文数量: 18
  • 博客积分: 370
  • 博客等级: 一等列兵
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-16 09:25
文章分类

全部博文(18)

文章存档

2011年(18)

我的朋友
最近访客

分类: Mysql/postgreSQL

2011-04-11 11:11:09

第十一章 列类型
mysql 支持多种列类型:数值型,日期时间型和字符型。
 
11.1 列类型概述
11.1.1 数值类型概述
M 最大显示宽度,最大有效显示宽度为255.显示宽度与存储值的范围无关。
 
BIT[(M)]
位字段类型。M表示每个值的位数,范围为1到64。如果M被省略,默认为1
TINYINT[(M)] [UNSINGED] [ZEROFILL]
很小的整数(一个字节)。带符号数范围为-128到127,无符号数范围为0到255.
BOOL, BOOLEAN
是TINYINT(1)的同义词,zero 为假,非zero 为真。
SAMLLINT[(M)] [UNSINGED] [ZEROFILL]
小的整数(两个字节)。
MEDIUINT[(M)] [UNSINGED] [ZEROFILL]
中等大小的整数(三个字节)。
INT[(M)] [UNSINGED] [ZEROFILL]
普通大小的整数(四个字节)。
INTEGER[(M)] [UNSINGED] [ZEROFILL]
同INT
BIGINT[(M)] [UNSINGED] [ZEROFILL]
大整数(八个字节)。
FLOAT[(M,D)] [UNSINGED] [ZEROFILL]
单精度浮点数。 使用FLOAT会在MYSQL中出问题,因为MYSQL中所有计算都用双精度完成。
DOUBLE[(M,D)] [UNSINGED] [ZEROFILL]
双精度浮点数
 
11.1.2 日期时间类型概述
DATE
日期。范围 1000-01-01 到 9999-12-31。 mysql 以“YYYY-MM-DD”格式显示。
DATETIME
日期和时间的组合。范围1000-01-01 00:00:00 到 9999-12-31 23:59:59。 以“YYYY-MM-DD HH:MM:SS”格式显示
TIMESTAMP
时间戳。TIMESTAMP列用于INSERTUPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。
TIME
时间。 HH-MM-SS
YEAR[(2|4)]
两位或四位格式的年。
 
11.1.3 字符串类型概述
[NATIONAL]CHAR(M)[BINARY|ASCII|UNICODE]
固定长度字符串,当保存时在右侧填充空格以达到指定的长度。M表示长度,最长为255。
当查找CHAR值尾部空格被删除。
[NATIONAL]VARCHAR(M)[BINARY]
变长字符串。M为最大列长为65535.
BINARY(M)
类似于CHAR,用了保存二进制字节字符。
TINYBLOB
最大长度为255字节的BLOB列。
TINYTEXT
最大长度为255字节的TEXT列
BLOB
最大长度为65535字节的BLOB列
TEXT
最大长度为65535字节的TEXT列
MEDIUMBLOB
MEDIUMTEXT
LONGBLOB
LONGTEXT
ENUM('value1','value2'...)
枚举类型,用整数表示。只能有一个值的字符串。
SET
一个设置,字符串对象可以有零个或多个值。
 
11.2 数值类型
同上
 
11.3 日期时间类型
11.3.1 DATETIME DATE 和 TIMESTAMP类型
11.3.1.1 TIMESTAMP属性
TIMESTAMP 显示格式和DATE相同
可以将时间戳指定为默认值或自定更新值,只能选择一个。
 
11.3.2 TIME类型
11.3.3 YEAR类型
 
11.4 STRING类型
11.4.1 CHAR和VARCHAR类型
存储方式:varchar会有一个表示长度的字节(如下表)
值       CHAR(4)      存储需求       VARCHAR(4)    存储需求
''       '    '         4byte        ''            1byte
'ab'     'ab  '         4byte        'ab'          3byte
'abcd'   'abcd'         4byte        'abcd'        5byte
'abcde'  'abcd'         4byte        'abcd'        5byte
 
11.4.2 BINARY 和 VARBINARY 类型
同CHAE and VARCHAR
 
11.4.3 BLOB 和 TEXT类型
BLOB是一个二进制大对象,可以容纳可变数量的数据。
BLOB可以视为二级制字符串(VARBINARY),TEXT可视为非二进制字符串(VARCHAR)。
 
11.4.4 ENUM类型
 
阅读(400) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~