set(集合型別)
set是乙個字串物件,可以有零或多個值,其值來自表建立時規定的允許的一列值。指定包括多個set成員的set列值時各成員之間用逗號(『,』)間隔開。這樣set成員值本身不能包含逗號。set的容納範圍為64個不同的成員..set其實和列舉差不多,set指定了乙個集合範圍,在我們插入資料的時候,需要插入在set範圍之內的元素,如果插入了未被包含的元素,那麼就會發出警告..
create也可以使用find_in_set()或like修飾符來搜尋set值...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;
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
'比較返回的結果不同。指定值時的順序應與在列定義中所列的順序相同。
mysql SET型別 應用技巧
mysql set型別,官方手冊 應用例項如下 有 一張表pms serverlist,現讓該錶的某條記錄的state欄位設定為 merged 和 hidden 操作如下 update pms serverlist set state state 4 16where serverid 47 現讓該錶...
資料型別 集合
1 集合 可變的資料型別 不可雜湊的 裡面的元素必須是不可變的,無序,不重複 set1 自動去重複 1.1 增 set1.add 老王 set1.update abc 類似迭代新增 print set1 1.2刪 set1.pop 隨機刪除,有返回值 set1.remove alex 按元素刪 se...
資料型別(集合)
集合特點 資料不重複 無序建立集合有兩種方法 第一種 s 第二種 s set 1 2 3 4 新增資料 l.add 5 新增單個資料 l.update 1,3,3,4,5,6,7 可以新增多資料 刪除資料 l.pop 隨機刪除 l.remove 1 按值刪除,若沒有則會報錯 l.discard 7 ...