Mysql SET(集合类型) 数据类型 您所在的位置:网站首页 mysql大字段数据类型 Mysql SET(集合类型) 数据类型

Mysql SET(集合类型) 数据类型

2023-09-01 05:09| 来源: 网络整理| 查看: 265

SET(集合类型)

 

SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。这样SET成员值本身不能包含逗号。set的容纳范围为64个不同的成员..set其实和枚举差不多,set指定了一个集合范围,在我们插入数据的时候,需要插入在set范围之内的元素,如果插入了未被包含的元素,那么就会发出警告..

复制代码 CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));//新建表格 INSERT INTO myset (col) VALUES ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d'); select col from myset;//索引值全部显示'a,d'; insert into myset (col) values('a,b,s');//会发出警告,并且s不会被插入到表格当中 select col from myset; 复制代码

也可以使用find_in_set()或like修饰符来搜索set值...

 

复制代码 mysql> SELECT * FROM tbl_name WHERE FIND_IN_SET('value',set_col)>0; mysql> SELECT * FROM tbl_name WHERE set_col LIKE '%value%'; //第1个语句找出SET_col包含value set成员的行。第2个类似,但有所不同:它在其它地方找出set_col包含value的行,甚至是在另一个SET成员的子字符串中。 //下面的语句也是合法的: mysql> SELECT * FROM tbl_name WHERE set_col & 1; mysql> SELECT * FROM tbl_name WHERE set_col = 'val1,val2'; //第1个语句寻找包含第1个set成员的值。第2个语句寻找一个确切匹配的值。应注意第2类的比较。将set值与'val1,val2'比较返回的结果与同'val2,val1'比较返回的结果不同。指定值时的顺序应与在列定义中所列的顺序相同。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有