版权声明:本文为博主原创文章,未经博主允许不得转载。 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;