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。

猜你喜欢

转载自blog.csdn.net/LZ15932161597/article/details/110261423