1、数据型:
bool,float,double
decimal(M,D) M是小数位数(精度)的总数,D是小数点(标度)后面的位数、DECIMAL整数最大位数(M)为65。
smallint 小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。
mediumint 中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。
int 普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。
integer 它是int的意思。
2、时间型:
date、 支持的范围为‘1000-01-01‘到‘9999-12-31‘。MySQL以‘YYYY-MM-DD‘格式显示DATE值,但允许使用字符串或数字为DATE列分配值。
time、
timestamp、 范围是‘1970-01-01 00:00:00‘到2037年。
如果表中的列的数据类型是timestamp 、insert update没有为它指定值,它会把当前时间插入。
例 1、
create table MyTable(X timestamp);
insert into MyTable(X) values(null);
select X from MyTable;
datetime、是‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘。
3、字符型:
char 、当检索CHAR值时尾部空格被删除,char(length)中lenght最大取255;char 是char(1)的同意词。
varchar、是字符VARYING的简写。保存时用一个字节或两个字节长的前缀+数据。如果VARCHAR列声明的长度大于255,长度前缀是两个字节
binary、类型类似于CHAR类型,但保存二进制字节字符串而不是非二进制字符串。
varbinary、类型类似于VARCHAR类型,但保存二进制字节字符串而不是非二进制字符串。
tinyblob、最大长度为255(28–1)字节的BLOB列。
例子、
blob、最大长度为65,535(216–1)字节的BLOB列。
mediumblob、最大长度为16,777,215(224–1)字节的BLOB列。
longblob、最大长度为4,294,967,295或4GB(232–1)字节的BLOB列
tinytext、最大长度为255(28–1)字符的TEXT列。
text、最大长度为65,535(216–1)字符的TEXT列。
mediumtext、 最大长度为16,777,215(224–1)字节的Text列。
longtext、最大长度为4,294,967,295或4GB(232–1)字符的TEXT列。
ENUM(‘value1‘,‘value2‘,...)、枚举类型。只能有一个值的字符串,从值列‘value1‘,‘value2‘,...,NULL中或特殊 ‘‘错误值中选出。
ENUM列最多可以有65,535个截然不同的值。ENUM值在内部用整数表示。
SET(‘value1‘,‘value2‘,...)、 一个设置。字符串对象可以有零个或多个值,每个值必须来自列值‘value1‘,‘value2‘,...
SET列最多可以有64个成员。SET值在内部用整数表示。