6.2 列类型
mysql 支持大量的列类型,它们可以被分为 3 类:数字类型、日期和时间类型以及字符串(字符)类型。这个章节首先给出可用类型的概述,并且总结各类型所需的存储需求,然后提供各类型中的类型范畴更详细的描述。概述有意地简化了。更详细的说明应该参考特写列类型的附加信息,例如你能为其指定值的允许格式。
mysql 支持的列类型在下面列出。下列代码字母用于描述中:
m
指出最大的显示尺寸。最大的显示尺寸长度为 255。
d
适用于浮点类型。指出跟随在十进制小数点后的数字数量。最大可能值为 30,但不应大于 m-2。
方括号 (“[” and “]”) 指定可选的类型修饰部份。
注意,如果为一个列指定了 zerofill,mysql 将自动为这个列添加 unsigned 属性。
警告:你应该知道当在两个整数类型值中使用减法时,如有一个为 unsigned类型,那么结果也是无符号的。查看章节 6.3.5 cast 函数。
tinyint[(m)] [unsigned] [zerofill]
一个非常小的整数。有符号的范围是 -128 到 127。无符号的范围是 0 到 255。
bit
bool
它们是 tinyint(1) 的同义词。
smallint[(m)] [unsigned] [zerofill]
一个小整数。有符号的范围是 -32768 到 32767。无符号的范围是 0 到 65535。
mediumint[(m)] [unsigned] [zerofill]
一个中等大小的整数。有符号的范围是 -8388608 到 8388607。无符号的范围是 0 到 16777215。
int[(m)] [unsigned] [zerofill]
一个正常大小的整数。有符号的范围是 -2147483648 到 2147483647。无符号的范围是 0 到 4294967295。
integer[(m)] [unsigned] [zerofill]
int 的同义词。
bigint[(m)] [unsigned] [zerofill]
一个大的整数。有符号的范围是 -9223372036854775808 到 9223372036854775807。无符号的范围是 0 到 18446744073709551615。 你应该知道的有关 bigint 列的一些事情:
* 所有的算术运算均是用有符号的 bigint 或 double 值来完成的,因此你不应该使用大于 9223372036854775807 (63 bits) 的无符号大整数,除了位函数之外!如果你这样做了,结果中的某些大数字可能会出错,因为将 bigint 转换成 double 时产生了舍入错误。mysql 4.0 在下列情况下可以处理 bigint:
o 在一个 bigint 列中使用整数存储一个大的无符号值。
o 在 min(big_int_column) 和 max(big_int_column)中。
o 当两个操作数都是整数时使用操作符 (+、-、*、等)。
* 通常你可以在一个 bigint 列中以字符串方式存储的一个精确的整数。在这种情况下,mysql 将执行一个字符串到数字的转换,包括无 intermediate 的双精度表示法。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器