MySQL_的数据类型

M为最大值,D为精度值

整型

数据类型 存储范围 字节
tinyint 有符号值:-128到127(-27到27-1) 无符号值:0到255(0到28-1) 1
smallint 有符号值:-32768到32767(-215到215>-1) 无符号值:0到65535(0到216-1) 2
mediuming 有符号值:-8388608到8288607(-223到223-1) 无符号值:0到16777215(0到224-1) 3
int 有符号值:-2147483648到2147483647(-231到231-1) 无符号值:0到4294967295(0到232-1) 4
bigint 有符号值:-9223372036854775808到9223373036854775807(-263到263-1) 无符号值:0到18446744073709551615(0到264-1) 8

浮点型

数据类型 存储范围 字节
float[(M,D)] 有符号值:-3.402823466e+38到-1.175494351e38 无符号值:0到1.175494351e-38到3.402823466e+38 4
double[(M,D)] 有符号值:-1.797693134862315+308到-2.2250738585072014e-308 无符号值:0到2.2250738585072014e-308到1.797693134862315+308 8

定点数类型

M范围是0-65
D范围是0-30

数据类型 存储范围
decimal[(M,D)] M大于等于D

日期时间型

数据类型 存储范围 表现形式 字节数
year 1901到2155 YYYY 1
time -838:59:59到838:59:59 HH:MM:SS 3
date 1000-01-01到9999-12-31 YYYY-MMM-DD 4
datetime 1000-01-01 00:00:00到9999-12-31 23:59:59 YYY-MM-DD HH:MM:SS 8
timestamp 1970-01-01 08:00:01到2038-01-19 11:14:07 YYY-MM-DD HH:MM:SS 4

字符型

数据类型 存储范围 字节
cahr(M) 0<=M<=255 M个字节
varchar(M) L<=M且0<=M<=65535 L+1个字节
tinyblob,tinytext 0-255(28-1) L+1
blob,text 0-65535(216-1) L+2
mebdiumblob,mediumtext 0-224-1 L+3
longblob,longtexy 0-232-1 L+5
enum(‘valude1’,'valude2',……) 取决于枚举值个数(最多65,535个值),例如:性别 enum(‘男’,'女') 0
set(‘valude1’,'valude2',……) 取决set成员的数目(最多64个成员) 0

text与blob的区别在于:text不能存储图片。blob是二进制流,text是非二进制。
mysql 的二进制数据类型 BINARY, VARBINARY, BLOB 都没有字符集的概念。在存取blob数据时,要入库时base64,出库时再base64。
ZEROFILL属性(零值)适用于所有数值类数据列类型,作用是,如果数值的宽度小于定义的显示宽度,则在数值前填充0。
UNSIGNED属性不允许数据列出现负数。
AUTO_INCREMENT属性可生成独一无二的数字序列。只对整数类的数据列有效。
NULL和NOT NULL属性设置数据列是否可为空。
DEFAULT属性可为数据列指定默认值。

猜你喜欢

转载自www.cnblogs.com/ninebook/p/12001898.html