MySQL字符类型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011236602/article/details/80840843

MySQL字符类型

列类型

  • 整型(默认是有符号的)
类型 字节数 有符号型范围 无符号型范围(unsigned)
tinyint(M) 1字节 -128~127 0~255
smallint(M) 2字节 -32768~32767 0~65535
mediumint(M) 3字节 -8388608~8688607 16777215
int(M) 4字节 -2147483648~2147483647 4294967295
integer 4字节
bigint(M) 8字节 -9223372036854775808~9223372036854775807
float(X) 浮点型 4 -3.4E38~3.4E38(7个有效位) 如果 X < = 24 或 8 如果 25 < = X < = 53
float 4 个字节
double 双精度实型 8 个字节 -1.7E308~1.7E308(15个有效位)
double precision 8 个字节
real 8 个字节
decimal(M,D)数字型 M字节(D+2 , 如果M < D) 128bit,不存在精度损失,常用于银行帐目计算(28个有效位)
numeric(M,D) M字节(D+2 , 如果M < D)

decimal的详细介绍
decimal(a,b)
参数说明:
a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。
b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。

日期和时间类型

类型 字节数
DATE 3 个字节
DATETIME 8 个字节
TIMESTAMP 4 个字节
TIME 3 个字节
YEAR 1 字节

字符串类型

类型 字节数和范围
CHAR(M) M字节,1 <= M <= 255
VARCHAR(M) L+1 字节, 在此L <= M和1 <= M <= 255
TINYBLOB, TINYTEXT L+1 字节, 在此L< 2 ^ 8
BLOB, TEXT L+2 字节, 在此L< 2 ^ 16
MEDIUMBLOB, MEDIUMTEXT L+3 字节, 在此L< 2 ^ 24
LONGBLOB, LONGTEXT L+4 字节, 在此L< 2 ^ 32
ENUM(‘value1’,’value2’,…) 1 或 2 个字节, 取决于枚举值的数目(最大值65535)
SET(‘value1’,’value2’,…) 1,2,3,4或8个字节, 取决于集合成员的数量(最多64个成员)

M代表宽度(在zerofill时才有意义) ,zerofill(零填充),位数不够M位在数字前填充0;若位数大于M则正常显示
<>表示不等于

列可以声明默认值,而且推荐声明默认值

not null; default;
alter table class add age2 tinyint unsigned;

字符型

时期/时间型

增加列:

alter table class add age2 tinyint unsigned;

猜你喜欢

转载自blog.csdn.net/u011236602/article/details/80840843
今日推荐