目录
数据类型介绍
数值型
-
整型:tinyint(1字节)、smallint(2字节)、mediumint(3字节)、int/integer(4字节)、bigint(8字节)
-
特点:如果不设置无符号还是有符号,默认为有符号,如需设置无符号,需要添加unsigned关键字
-
如果插入的数值超出范围,则会报out of range异常,并且插入临界值
-
如果不设置长度,会有默认的长度
-
长度代表了显示的最大宽度,如果不够会用0在左边填充,但必须搭配zerofill使用
-
设置无符号和有符号
drop table if exists 表名;
create table 表名 (
t1 int,
t2 int unsigned
);
-
浮点型:float(m,d)(4字节)、double(m,d)(8字节)
-
定点型:dec(m,d)/decimal(m,d)(m+2字节)
-
m:整数部位+小数部位
-
d:小数部位
-
如果超出范围,则插入临界值
-
m和d都可以省略,如果是decimal类型,则默认m为10,d默认为0;如果是float和double类型,则会根据插入的数值的精度来决定精度
-
定点型的精度较高,如果要插入数值的精度较高如货币运算等则考虑使用
-
字符型
-
较短的文本:char(m字符)、varchar(m字符)
-
char的m可省略,默认为1,存储固定长度的字符,比较耗费空间,效率高
-
varchar的m不可省略,存储可变长度的字符,比较节省空间,效率低
-
binary和varbinary类似于char和varchar,不同的是他们包含二进制字符串而不包含非二进制字符串
-
enum用于保存枚举
-
set用于保存集合
-
-
较长的文本:text、blob(较大的