目录
常见的数据类型
一、数值型
一)整型
- 默认有符号,设置无符号需要追加unsigned
- 如果不设置长度,会有默认长度,有符号默认11,无符号默认10
- 若设置长度,限制其显示宽度,则必须搭配使用ZEROFILL 会自动填充0至设置长度,且默认为无符号
整型类型 | 字节 | 范围 |
---|---|---|
Tinyint | 1 | 有符号:-128~127 无符号:0~255 |
Smallint | 2 | 有符号:-32768~32767 无符号:0~65535 |
Mediumint | 3 | 有符号:-8388608~8388607 无符号:0~1677215 |
Int、integer | 4 | 很大 |
Bigint | 8 | 很大 |
CREATE TABLE tableint(t1 INT,t2 INT UNSIGNED,t3 INT(5) ZEROFILL);
DESC tableint;
DROP TABLE tableint;
INSERT INTO tableint VALUES(-134,2432,2);
SELECT * FROM tableint;
二)小数
- 原则:所选择的类型越简单越好,能保存的数值越小越好
1、浮点型
FLOAT(M,D) #4字节
DOUBLE(M,D) #8字节
2、定点型
DEC(M,D)
DECIMAL(M,D) 默认(10,0)
- M:整数位+小数位
- D:小数位
- M和D都可以省略,浮点型根据插入数据精度来决定精度
- 定点型的精度较高,如果要求插入数值的精度较高,如货币运算则使用定点型
CREATE TABLE tab_float(
f1 FLOAT(5,2), f2 DOUBLE(5,2),f3 DECIMAL(5,2));
INSERT INTO tab_float VALUES(123.45,123.45,123.45);
INSERT INTO tab_float VALUES(123.4,123.4,123.4);
INSERT INTO tab_float VALUES(1523.4,1523.4,1523.4);
INSERT INTO tab_float VALUES(123.456,123.456,123.456);
SELECT *FROM tab_float;
三、字符型
一)较短的文本
含义 | 最多的字符数 | 描述及存储需求 | 空间耗费 | 效率 | |
CHAR(M) | 固定长度的字符 | M,可省略,默认为1 | M为0~255之间的整数 | 耗费 | 高 |
VARCHAR(M) | 可变长度的字符 | M,不可省略 | M为0~65535之间的整数 | 节省 | 低 |
BINARY 和 VARBINARY 用于保存较短的二进制
enum 用于保存枚举
SET 用于保存集合