MySQl 資料型別 ENUM 和 SET

2021-09-24 05:14:27 字數 1811 閱讀 3862

enum, set 為 mysql 中的字串資料型別,相較於char,varchar 這類隨意插入任意字元的字串型別,enum, set 為只能在指定的集合裡取值的字串資料型別。

1. 單選字串資料型別

2. 設定enum的時候,需要給定 「固定的幾個選項」,儲存的時候就只儲存其中的乙個值

欄位名 enum ("選項1","選項2","選項3",...);
3. enum 的選項都會對應乙個索引值
select

*from 表名 where 字段型別為enum的欄位名 =

0;

select  字段型別為enum的欄位名+

0from 表名;

4. 例子:
create

table

hobby

( hobby enum

("聽**"

,"跳舞"

,"唱歌"))

engine

=innodb default

charset

=utf8;

選項值

索引值null

null

」「(空字串)

0「聽**」

1「跳舞」

2「唱歌」

3由於測試, 這裡只定義乙個enum型別的字段,以下截圖為workbench中的截圖。 查詢

同樣支援兩種方式:

1. 多選字串資料型別

2. 設定set的時候,同樣需要給定「固定的幾個選項」,儲存的時候,可以儲存其中的若干個值;

欄位名 set

("選項1"

,"選項2"

,"選項3"

,...

)

3. set 的選項都會對應乙個索引值4. 例子:

create

table

set_test

( hobby set

('聽**'

,'跳舞'

,'唱歌'))

engine

=innodb default

charset

=utf8;

選項值

索引值『聽**』

1『跳舞』

2『聽**,跳舞』

3『唱歌』

4『聽**,唱歌』

5『跳舞,唱歌』

6『聽**』,『跳舞』,『唱歌』

7由於測試, 這裡只定義乙個set型別的字段,以下截圖為workbench中的截圖。

查詢**注: **將set值與『聽**,跳舞』比較返回的結果與同'跳舞,聽** 』比較返回的結果不同。指定值時的順序應與在列定義中所列的順序相同

集合set中的每個值都有乙個順序排列的編號。mysql中存入的是這個編號,而不是列表中的值,所以我們可以根據這個編號來進行一些操作

MySQL的資料型別ENUM和SET型別

enum型別和set型別是資料的列舉型別,分別講述mysql的資料型別enum和set型別。一 enum型別 enum型別 列舉型別 與c 的概念一樣,在定義時指定取值範圍。屬性名enum 值1 值2 值3 值n enum有not null屬性,其預設值為取值列表的第乙個元素 enum無not nu...

Mysql的資料型別之enum

enum值域範圍為 0 1 時,若sql引數條件為數值型0 1,則取出的結果集錯誤。mysql的字串型別,細分有很多種,常見的包括 字串型別指char varchar binary varbinary blob text enum和set。詳情見 enum中儲存的值域範圍只能是字串型別。我們知道當字...

mysql中的資料型別enum和set

mysql中的字串資料型別set,enum 原文 1 enum 單選字串資料型別,適合儲存表單介面中的 單選值 設定enum的時候,需要給定 固定的幾個選項 儲存的時候就只儲存其中的乙個值。設定enum的格式 enum 選項1 選項2 選項3 實際上,enum的選項都會對應乙個數字,依次是1,2,3...