本文将介绍数据库中常用的数据类型。
数值类型
整型
实际操作中,在能够满足需求的情况下,尽量选择占用空间小的类型
小数类型
Float 单精度类型
Double 双精度类型
Decimal [M,D]
可以支持更加精确的小数位。M是小数位数(精度)的总数,D是小数点(标度)后面的位数。
如果D是0,则值没有小数点或分数部分。M最大65。D最大是30。如果D被省略,默认是0。如果M被省略,默认是10。
建议:如果希望小数的精度高,推荐使用decimal。
字符类型
char类型
CHAR(size)
固定长度字符串最大255字符
1.char(4)这个4表示字符数,不是最大字符数,不管是中文还是英文都是放4个。
例:
insert('wert') 可以放入(4个字符)
insert('你好世界') 可以放入(4个字符)
2.char(4)是定长的(固定的大小)。
例:
insert('HC'); 可以放入(4个字符)
就是说,即使你插入 ‘HC’,也会占用分配的4个字符的空间。
varchar类型
VARCHAR(size) 0~65535 可变长度字符串 最大65532字节
【utf8编码最大21844字符,1-3个字节用于记录大小】.(65535-3)/3=21844
1.varchar(4),这个4表示字符数,不管是字母还是中文都以定义好的表的编码来存放数据
例:
如果varchar用的utf8编码
则4*3=12个字节
如果varchar用的gbk编码
则4*2=8个字节
text类型和longtext类型
在存放文本时,也可以使用Text数据类型,
可以将TEXT列视为VARCHAR列,注意Text 不能有默认值。
大小为0-2^16字节.
如果希望存放更多字符,可以选择
MEDIUMTEXT0-2 ^24 或者LONGTEXT0~2^32
二进制数据类型
blob类型和longblob类型
1.bit字段显示时,按照位的方式显示。
查询的时候仍然可以用使用添加的数值
2.如果一个值只有0,1可以考虑使用bit(1),可以节约空间·位类型。
3.M指定位数,默认值1,范围1-64
例:
create table t01 (num bit(8));
添加数据范围按照你给的位数来确定比如m =8 表示一个字节 0~255