MySQL中bit與Java資料型別對應
阿新 • • 發佈:2020-11-28
- 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的數
基本操作:
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。