mysql字段类型:比较详细的MySQL字段类型介绍说明

由MySQL支持列类型列在下面下列代码字母用于描述中:
M
指出最大显示尺寸最大合法显示尺寸是 255
D
适用于浮点类型并且指出跟随在十进制小数点后数码数量最大可能值是30但是应该不大于M-2
方括号(“[”和“]”)指出可选类型修饰符部分
注意如果你指定个了为ZEROFILLMySQL将为该列自动地增加UNSIGNED属性
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
个很小整数有符号范围是-128到127无符号范围是0到255

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或DOUBLE值完成因此你不应该使用大于9223372036854775807(63位)有符号大整数除了位!注意当两个参数是INTEGER值时-、+和*将使用BIGINT运算!这意味着如果你乘2个大整数(或来自于返回整数)如果结果大于9223372036854775807你可以得到意外结果个浮点数字不能是无符号个单精度浮点数其精度可以是<=24个双精度浮点数是在25 和53的间这些类型如FLOAT和DOUBLE类型马上在下面描述FLOAT(X)有对应FLOAT和DOUBLE相同范围但是显示尺寸和小数位数是未定义在MySQL3.23中这是个真正浮点值在更早MySQL版本中FLOAT(precision)总是有2位小数该句法为了ODBC兼容性而提供
FLOAT[(M,D)] [ZEROFILL]
个小(单精密)浮点数字不能无符号允许值是-3.402823466E+38到-1.175494351E-380 和1.175494351E-38到3.402823466E+38M是显示宽度而D是小数位数没有参数FLOAT或有<24 个参数表示个单精密浮点数字
DOUBLE[(M,D)] [ZEROFILL]
个正常大小(双精密)浮点数字不能无符号允许值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308M是显示宽度而D是小数位数没有个参数DOUBLE或FLOAT(X)(25 < = X < = 53)代表个双精密浮点数字
DOUBLE PRECISION[(M,D)] [ZEROFILL]
 
REAL[(M,D)] [ZEROFILL]
这些是DOUBLE同义词
DECIMAL[(M[,D])] [ZEROFILL]
个未压缩(unpack)浮点数字不能无符号行为如同个CHAR列:“未压缩”意味着数字作为串被存储位使用小数点并且对于负数“-”符号不在M中计算如果D是0值将没有小数点或小数部分DECIMAL值最大范围和DOUBLE相同但是对个给定DECIMAL列实际范围可以通过M和D选择被限制如果D被省略它被设置为0如果M被省掉它被设置为10注意在MySQL3.22里M参数包括符号和小数点
NUMERIC(M,D) [ZEROFILL]
这是DECIMAL个同义词
DATE
个日期支持范围是'1000-01-01'到'9999-12-31'MySQL以'YYYY-MM-DD'格式来显示DATE值但是允许你使用串或数字把值赋给DATE列
DATETIME
个日期和时间组合支持范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'MySQL以'YYYY-MM-DD HH:MM:SS'格式来显示DATETIME值但是允许你使用串或数字把值赋给DATETIME
TIMESTAMP[(M)]
个时间戳记范围是'1970-01-01 00:00:00'到2037年某时MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式来显示TIMESTAMP值取决于是否M是14(或省略)、12、8或6但是允许你使用串或数字把值赋给TIMESTAMP列个TIMESTAMP列对于记录个INSERT或UPDATE操作日期和时间是有用如果你不自己给它赋值它自动地被设置为最近操作日期和时间你以可以通过赋给它个NULL值设置它为当前日期和时间
TIME
个时间范围是'-838:59:59'到'838:59:59'MySQL以'HH:MM:SS'格式来显示TIME值但是允许你使用串或数字把值赋给TIME列
YEAR[(2|4)]
个2或4位数字格式年(缺省是4位)允许值是1901到2155和0000(4位年格式)如果你使用2位1970-2069( 70-69)MySQL以YYYY格式来显示YEAR值但是允许你把使用串或数字值赋给YEAR列(YEAR类型在MySQL3.22中是新类型)
CHAR(M) [BINARY]
个定长当存储时总是是用空格填满右边到指定长度M范围是1 ~ 255个当值被检索时空格尾部被删除CHAR值根据缺省集以大小写不区分方式排序和比较除非给出BINARY关键词NATIONAL CHAR(短形式NCHAR)是ANSI SQL方式来定义CHAR列应该使用缺省这是MySQL缺省CHAR是CHARACTER个缩写
[NATIONAL] VARCHAR(M) [BINARY]
个变长注意:当值被存储时尾部空格被删除(这区别于ANSI SQL规范标准)M范围是1 ~ 255个 VARCHAR值根据缺省集以大小写不区分方式排序和比较除非给出BINARY关键词值 VARCHAR是CHARACTER VARYING个缩写
TINYBLOB
 
TINYTEXT
个BLOB或TEXT列最大长度为255(2^8-1)个
BLOB
 
TEXT
个BLOB或TEXT列最大长度为65535(2^16-1)个
MEDIUMBLOB
 
MEDIUMTEXT
个BLOB或TEXT列最大长度为16777215(2^24-1)个
LONGBLOB
 
LONGTEXT
个BLOB或TEXT列最大长度为4294967295(2^32-1)个
ENUM('value1','value2',...)
枚举个仅有个值串对象这个值式选自和值列表'value1'、'value2', ...,或NULL个ENUM最多能有65535区别
SET('value1','value2',...)
个集合能有零个或多个值串对象其中每个必须从值列表'value1', 'value2', ...选出个SET最多能有64个成员
Tags:  mysql删除字段 mysql更改字段类型 mysql修改字段类型 mysql字段类型

延伸阅读

最新评论

发表评论