2009七月8
MySQL 字段类型
本来这篇是想写用MySQL如何创建表,不过感觉只讲一个create table帮助不大。因为表结构最重要的其实就是字段类型和字段约束,今天先简单看一下字段类型。 MySQL提供了很多不同的数据类型来处理不同的数据需求。合理的使用它们,可以有效的减少表的体积,节省空间,并且可以避免很多程序设计上莫名其妙的问题(比如值的范围超出)等。 因为之前的日志中(请在本站搜索”MySQL那些你不知道的”),我们已经详细讨论过这些数据类型,今天简单的来个汇总,用下面的表格来给出一个清晰的解释。
| 类型 | 描述 |
| INT | 一种数值类型,值的范围如下 带符号的-2147483648~2147483647 不带符号的0~4294967295 最多十位,所以存手机号是不行的 |
| DECIMAL | 一种数值类型,支持浮点数或者小数 |
| DOUBLE | 一种数值类型,支持双精度浮点数 |
| DATE | YYYYMMDD格式的日期字段 |
| TIME | HH:MM:SS格式的时间字段 |
| DATETIME | YYMMDD HH:MM:SS格式的日期/时间类型 注意“年月日”与“时分秒”之间的空格 |
| YEAR | 以YYYY或YY格式,范围在1901~2155之间指定的年字段 别问我2155年后咋办,我估计我活不到那年 |
| TIMESTAMP | 以YYYYMMDDHHMMSS格式的时间戳 |
| CHAR | 最大长度为255个字符且有固定长度的字符串类型 |
| VARCHAR | 最大长度为255个字符但是变长的字符串类型 |
| TEXT | 最大长度为65535个字符的字符串的类型 |
| BLOB | 可变数据的二进制类型 |
| ENUM | 可以从定义数值的列表上接受值的数据类型 |
| SET | 可以从定义数值的集合上接受0个或者多个值的数据类型 |
文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/07/08/1106/
版权所有 © 转载时必须以链接形式注明作者和原始出处!
什么!?2155年世界末日你不知道吗?
[回复]
@小明猪
呃,我真不知道。。谢谢告之。不过我想我在那之前应该就会消失鸟。
[回复]
一样的,距离现在还有146年,又是一个类似千年虫的问题。 :D
[回复]
@LAONB
这方面我还真不知道。呵呵。管他呢,貌似我是真的等不到那天的。嘿嘿。
[回复]
有点系统性了解了,有点像注册表
[回复]
@bolo
就是创建表的时候为字段指定一些规则。 :D
[回复]
Google过来的,特别亲切,给留个言
[回复]
@华晨
居然是通过GG,呵呵。果然亲切。
[回复]
俺是通过GOOGLE搜到您这里的。
俺想知道定义手机号码,使用int合适吗?好像用VARCHAR(11)也行
俺是菜鸟,请指点指点
[回复]
@Note
不过这个我不太确定。呵。
呵,个人感觉不可能使用int吧。
因为int类型,不带符号的范围是0~4294967295 最多十位,所以存手机号是不行的
我建议用bigint 因为其含义是整型,这样也就保证了数据的有效性。而varchar,则可能存入非法数据。
还有,貌似varchar比bigint之类占的空间要多吧?有点浪费。呵。
[回复]