MYSQL 的 3 类数据类型

时间:2023-03-08 17:52:00

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;

MYSQL 的 3 类数据类型

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列。

例子、

MYSQL 的 3 类数据类型

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值在内部用整数表示。