MYSQL SET類型字段的SQL操作知識介紹_MySQL教程
推薦:MySQL 關于表復制 insert into 語法的詳細介紹web開發(fā)中,我們經常需要將一個表的數(shù)據(jù)插入到另外一個表,有時還需要指定導入字段,設置只需要導入目標表中不存在的記錄,雖然這些都可以在程序中拆分成簡單sql來實現(xiàn),但是用一個sql的話,會節(jié)省大量代碼。下面我以mysql數(shù)據(jù)庫為例分情況一一說明: 兩張表:insertTe
本篇文章是對MYSQL中SET類型字段的SQL操作知識進行了詳細的分析介紹,需要的朋友參考下 復制代碼 代碼如下:<em>`mark` set('index','best','hot')</em>
用的人少,懂的人也少,找了很久,總算湊齊了一套知識點
看上面的結構,MYSQL不傻,會存index嗎,不會,存的是數(shù)字
SET字段是利用二進制數(shù)字來一一對應你設置的值,比如index,排在第0位,那么2的零次方等于1
update from table SET mark=1
復制代碼 代碼如下:
update from table SET mark='index'
上面兩個效果是一樣的。
接著問題就來了,就像dedecmsmoban/">織夢那樣,如果我想將一篇文章添加一個熱門,但是不想刪除其它標識在呢么辦,或者我就想刪除一個標識,我也不知道以前有什么標識。
以下是添加標識
update from table SET mark=mark |1|2
不要問我為什么用|這個東東,上面的意思是添加index、best兩個標識,如果只添加hot標識,寫成|4就可以了
下面是刪除標識
update from table SET mark=mark &~4&~1
好了,我先說了更新,下面說查詢
SELECT * FROM table WHERE FIND_IN_SET('hot',mark)
這個是最簡單的查詢方法,也可以用hot所在位置的二進制數(shù)4來替代查詢,效率是一樣的
也可以這么寫:
SELECT * FROM table WHERE mark & 1
分享:總結MySQL建表、查詢優(yōu)化的一些實用小技巧本篇文章是對MySQL建表以及查詢優(yōu)化的一些實用小技巧進行了詳細的分析介紹,需要的朋友參考下 MySQL建表階段是非常重要的一個環(huán)節(jié),表結構的好壞、優(yōu)劣直接影響著后續(xù)的管理維護,趕在明天上班前分享總結個人MySQL建表、MySQL查詢優(yōu)化積累的一些實用小技巧。 技巧一、數(shù)
- MSSQL清空日志刪除日志文件
- 關于數(shù)據(jù)庫中保留小數(shù)位的問題
- 解析mysql與Oracle update的區(qū)別
- mysql 導入導出數(shù)據(jù)庫以及函數(shù)、存儲過程的介紹
- MySQL——修改root密碼的4種方法(以windows為例)
- 解決MYSQL出現(xiàn)Can''t create/write to file ''#sql_5c0_0.MYD''的問題
- 深入理解SQL的四種連接-左外連接、右外連接、內連接、全連接
- 解析:內聯(lián),左外聯(lián),右外聯(lián),全連接,交叉連接的區(qū)別
- mysql出現(xiàn)“Incorrect key file for table”處理方法
- mysql重裝后出現(xiàn)亂碼設置為utf8可解決
- 淺析一個MYSQL語法(在查詢中使用count)的兼容性問題
- 解析MySQL中INSERT INTO SELECT的使用
- 相關鏈接:
- 教程說明:
MySQL教程-MYSQL SET類型字段的SQL操作知識介紹。