学习自: BoogeyChen
数字数据类型:
INT:正常大小的整数,可以带符号。
有符号的,范围是-2147483648到2147483647;
无符号的,范围是0到4294967295。
可以指定最多11位的宽度。
TINYINT:一个非常小的整数,可以带符号。
有符号的,范围是-128到127;
无符号的,范围是0-255。
可以指定最多4位的宽度。
SMALLINT:一个小的整数,可以带符号。
有符号的,范围是-32768到32767;
无符号的,范围是0到65535。
可以指定最多5位的宽度。
MEDIUMINT:一个中等大小的证书,可以带符号。
有符号的,范围是-8388608到8388607;
无符号的,范围是0到16777215。
可以指定最多9位的宽度。
BIGINT:一个大的整数,可以带符号。
有符号的,范围是-923372036854775808到9223372036854775807;
有符号的,范围是0到18446744073709551615。
可以指定最多20位的宽度。
FLOAT(M,D):不能使用无符号的浮点数字。
可以定义显示长度(M)和小数位数(D)。非必需参数,默认为16,4。
小数精度可以达到24个浮点。
DOUBLE(M,D):不能使用无符号的双精度浮点数。
可以定义显示长度(M)和小数位数(D)。非必须参数,默认为16,4。
小数定都可以达到53位的DOUBLE。
REAL是DOUBLE的同义词。
DECIMAL(M,D):非压缩浮点数,不能是无符号的。
每个小数对应于一个字节。必须定义显示长度(M)和小数位数(D)。
NUMERIC是DECIMAL的同义词。
日期和时间类型:
DATE:以YYYY-MM-DD格式的日期。
在1000-01-01和9999-12-31之间。
DATETIME:YYYY-MM-DD HH:MM:SS格式。
在1000-01-01 00:00:00和9999-12-31 23:59:59之间。
TIMESTAMP:YYYYMMDDHHMMSS格式。
TIME:HH:MM:SS格式。
YEAR(M):以2位或4位数字格式来存储年份。
如果长度指定为2(如YEAR(2)),年份就可以为1970至2069(70〜69)。
如果长度指定为4,年份范围是1901-2155,默认长度为4。
字符串类型:
CHAR(M):固定长度的字符串,字符长度为1到255之间。
长度非必需参数,默认为1。
VARCHAR(M):可变长度的字符串,字符长度为1到255之间(高版本MySQL可超过255)。
必须定义长度。
BLOB:二进制大对象,用来存储大的二进制数据,如图片和其他类型文件。
TEXT:文本字段。
两者的最大长度是65535;
区别是:
排序和比较上存储的数据,BLOB大小写敏感,TEXT不区分大小写。
长度非必需参数。
TINYBLOB或TINYTEXT:
BLOB或TEXT列用255个字符的最大长度。
不指定TINYBLOB或TINYTEXT的长度。
MEDIUMBLOB或MEDIUMTEXT:
BLOB或TEXT列用16777215个字符的最大长度。
不指定MEDIUMBLOB或MEDIUMTEXT的长度。
LONGBLOB或LONGTEXT:
BLOB或TEXT列具有4294967295字符的最大长度。
不指定LONGBLOB或LONGTEXT的长度。
ENUM:
枚举,这是一个奇特的术语列表。当定义一个ENUM,要创建它的值的列表,这些是必须用于选择的项(也可以是NULL)。
例如,如果想要字段包含“A”或“B”或“C”,那么可以定义为ENUM为 ENUM(“A”,“B”,“C”)也只有这些值(或NULL)才能用来填充这个字段。
网友评论