MYSQL SET類型字段的SQL操作知識介紹_MySQL教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦: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ù)

      來源:模板無憂//所屬分類:MySQL教程/更新時間:2013-07-03
      相關MySQL教程