需要将字符串编码改成utf8mb4,就可以使用字符类型进行存储
图片类型再计算机中保存的格式是二进制,可以使用相应的二进制存储类型进行数据保存,比如
bit,binary,varbinary,blob,tinyblob,mediublob,longblob。
bit(m):m取值范围是1-64,如果不写m那就相当于bit(1),引导符有0b,b,B,但是没有0B。
再bit中val代表的是01。一般是用来保存布尔值和状态存储的。
binary与char类似不同的是包含二进制字符串,长度固定,比如binary(3),而你只保存一个a,它会自动在右端补齐。
varbinary与varchar相似,长度可变。
有四种blob:
tinyblob:最小的blob,保存的单位只有2的8次方-1
blob:保存的单位有2的16次方-1
mediumblob:保存的单位有2的24次方-1
logblob:保存的单位有2的31-1次方,或者4g。
当两个数值平方再相除时,得到的值的数据类型是decimal,避免数据精度丢失
枚举数据类型,在创建表的时候使用。
比如:create table a(
state enum('free','nofree','halffree') not null
)
在插入数据时只能插入枚举包含的数值,比如insert into talea values('free'),('nofree');
或者可以插入数值,代表第几个数据,比如 insert into tablea values(1),(2),(3)
当你插入的数据不是枚举的数据时,它会自动使用第一个数据作为数值插入。
也可以使用该列进行排序与查询。
每个枚举值均有一个索引值。
使用方式:
建表或者修改表结构时使用:
create table set_table(
set1 set('free','nofree','halffree')
)
插入数据时可以一次插入多条:insert into set_table values('free,nofree'),('nofree');
插入数据时可以使用数值:insert into set_table values(1),(2),(3)这里1代表的是第一个数值,2代表的是第二个数值,3代表的是第一个和第二个数值
搜索:
select * from set_table where find_in_set('free',set1)>0
select * from set_table where set1 like 'fre%'
寻找第一个set成员:
select * from set_table where set1 & 1
准确寻找:
select * from set_table where set1='free,nofree'
作用文本描述。
有四种:tinytext是1字节,存储范围是255,例如:博文摘录,文章摘要等
text:64kb,一般用于描述正文。
mediumtext:16mb,用于存储相当大的文本文件
longtext:4G。