枚举和集合..

来源:2-23 测试ENUM和SET类型

qq_粽翎_0

2019-12-09 11:24:54

疑问如下:

  1. 枚举和集合在插入数据时区分大小写的吗?

  2. 对于枚举,是不是每次只能插入所列举的单个字符或字符串,而集合可同时插入多条列举的字符或字符串?

  3. 我发现当插入的是字母,好像跟我第二条疑问的类似,可当我上面列举的是中文字符时,在集合中就不能同时插入多个字符了,求解?

  4. 对于集合来说,能不能通过索引(数字)的方式同时插入多个字符?如何实现?

  5. 枚举和集合的选择,什么时候该用哪个,希望能给出例子

  6. 老师可以像我这样根据每条列出来回答我的问题吗?非常感谢!

写回答

1回答

好帮手慕小班

2019-12-09

同学你好,1、枚举和集合在插入数据时区分大小写的吗?

        枚举和集合在插入数据时不区分大小写。因为ENUM的字段值不区分大小写,并且mysql字段的值默认也是不区分大小写的。

    2、对于枚举,是不是每次只能插入所列举的单个字符或字符串,而集合可同时插入多条列举的字符或字符串?

        同学的理解是正确的,对于枚举,每次只能插入所列举的单个字符或对应的编号,但是不能插入多个字符。如下所示,插入多个会直接报错。

http://img.mukewang.com/climg/5dee10e209d43f0404030162.jpg

    而集合可同时插入多条列举的字符,比如课程中的

http://img.mukewang.com/climg/5dee115d09491ae303700098.jpg

    3、我发现当插入的是字母,好像跟我第二条疑问的类似,可当我上面列举的是中文字符时,在集合中就不能同时插入多个字符了,求解?

        当插入的是字母,同学说的是SET类型吧,这里老师试了一下这个类型无论是中文还是字母(其他)都可以同时插入多条,例如:

http://img.mukewang.com/climg/5dee177f09bbd3e403900065.jpg

如上所示的两条代码,age与name都是set类型,都可以同时插入多条。

    4、对于集合来说,能不能通过索引(数字)的方式同时插入多个字符?如何实现?

        可以通过索引方式同时插入多个。因为SET 的选项也都会对应一个索引值,对应定义的顺序依次索引值是 1,2,4,8,…,最多有 64 个选项,所以插入数据的时候,可以使用 多个选项的索引值之和,比如  (1+2+4=7)插入数据的时候直接写7,就会把索引值为1,2,4 的三个选项插入进去。

http://img.mukewang.com/climg/5dee19eb0948e1ba04180146.jpg

        5、枚举和集合的选择,什么时候该用哪个,希望能给出例子

ENUM和SET类型都是集合类型,不同的是ENUM类型最多可枚举65535个元素,而SET类型最多枚举64个元素。并且ENUM每次只能插入所列举的单个字符,在开发中可以根据这些特性来决定具体的使用情况。比如  爱好的字段可以使用SET类型,性别的内容使用ENUM类型

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0
hq_粽翎_0
h 非常感谢!
h019-12-09
共1条回复

0 学习 · 8016 问题

查看课程