1. 程式人生 > 資料庫 >MySQL中bit與Java資料型別對應

MySQL中bit與Java資料型別對應

  • MySQL中使用bit儲存資料,含義只能表示0或1,bit稱為位資料型別;且不能用於計算。儲存消耗<=1個位元組【bit型別佔用的空間與bit型別的列所在表的位置有關,有些情況下bit佔用了一個位元組,有些情況下bit實際佔用了幾個位,不足一個位元組】。
  • bit與Java中的Boolean型別相對應,0表示false,1表示true。
  • 一般我們會使用bit(M)表示使用幾位數據。
  • 在實際業務中,更常用的是使用bit(1),用1位來表示0或1,對映到Java中的資料型別對應的就是false或true。如果使用多位,比如bit(4),用4位來表示資料的話,就要使用4位來表示0或1,0000/0001.
  • MySQL中,如果 使用bit(M) M>1來表示資料,資料大小不僅可以表示0或1,也可以表示大於1的數
    ,對映到Java的資料型別Boolean時, 0對應為false,非0的資料都將對映為true。

基本操作:

1、插入

插入資料時,插入true,false,資料庫會相應的轉換成1,0。

2、更新

更新最常用的辦法是先查詢判斷再進行更新,這樣就需要先查詢一次,再執行更新.
如果不想進行查詢,直接對它進行更新,每次得到更新前的相反值的話,可以使用以下方法:
① substr函式
update anketo1 set fb = substring(‘10’,fb+1,1) WHERE id =5
② 直接取反
update anketo1 set fb = ~ fb WHERE id =5
③ 用ABS取絕對值

update anketo1 set fb = abs(fb-1)

3、查詢

查詢資料時,得到的資料是0和1,而不是true或false。