MariaDB使用enum和set

1、enum

  单选字符串数据类型,适合存储表单界面中的“单选值”。

  设定enum的时候,需要给定“固定的几个选项”;存储的时候就只存储其中的一个值。

  设定enum的格式:

    enum("选项1","选项2","选项3",...);

  实际上,enum的选项都会对应一个数字,依次是1,2,3,4,5...,最多有65535个选项

  使用的时候,可以使用选项的字符串格式,也可以使用对应的数字。

2、set

  多选字符串数据类型,适合存储表单界面的“多选值”。

  设定set的时候,同样需要给定“固定的几个选项”;存储的时候,可以存储其中的若干个值。

  设定set的格式:

    set("选项1","选项2","选项3",...)

  同样的,set的每个选项值也对应一个数字,依次是1,2,4,8,16...,最多有64个选项

  使用的时候,可以使用set选项的字符串本身(多个选项用逗号分隔),也可以使用多个选项的数字之和(比如:1+2+4=7)

介绍引用地址:https://www.cnblogs.com/benbenzhu/p/5604598.html (我懒得写了)

示例:

--创建一个表
create table demo(
  id int auto_increment primary key,
  animal enum('哺乳动物','非哺乳动物'),
  name set('猫','鱼','狗','鸟')
)engine=InnoDB default charset=utf8;

--添加
--一个enum值,一个set值,二者均使用选项的字符串格式
insert into demo(animal,name) values('哺乳动物','狗');
--一个enum值,多个set值,二者均使用选项的字符串格式
insert into demo(animal,name) values('哺乳动物','猫,狗');

--一个enum值,一个set值,二者均使用选项的数字格式
insert into demo(animal,name) values(1,1);
--一个enum值,多个set值,二者均使用选项的数字格式
-- enum 1 <=> '哺乳动物', set 5=1+4 <=>'猫,狗'
insert into demo(animal,name) values(1,4);

--enum值使用选项的字符格式,set值使用选项的数字格式
-- set 10=2+8 <=>'鱼,鸟'
insert into demo(animal,name) values('非哺乳动物',10);

结果:

 

posted @ 2018-09-06 20:46  追梦滴小蜗牛  阅读(605)  评论(0编辑  收藏  举报