Mysql SET(集合型別) 資料型別

2021-08-17 20:05:06 字數 1421 閱讀 9700

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

'比較返回的結果不同。指定值時的順序應與在列定義中所列的順序相同。

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 ...