BIT
这种数据类型。位模式的操作。「 布隆过滤器 ( Bloom Filter ) 」。
MySQL 中的位模式字面量一般使用 b'val'
或 0bval
语法,val
是只包含 0
和 1
的二进制值,字符 b
之前有无 0
都无关紧要,但要注意的是 0b
是区分大小写的,0b
不能写为 0B
,但 b
由不限大小写。
alter table 表名 add (字段 字段类型) [ default '输入默认值'] [null/not null] comment '' ;
第一种创建方法 : ALTER TABLE user ADD type bit(1) default b'0' not null comment ''; 第二种创建方法: ALTER TABLE user ADD type bit(1) default false not null comment ''; 第三种创建方法: ALTER TABLE user ADD type bit(1) default 0b0 not null comment '';
第四种创建方法 : ALTER TABLE user ADD type bit(1) default b'00' not null comment '';
总之,你可以把他理解成二进制.
另外拓展一下,数据库字段类型和Java的对应关系
1、CHAR、VARCHAR 、LONGVARCHAR
可映射为 String 或 char[],但 String 更适合于一般用法
2、BINARY、VARBINARY 和 LONGVARBINARY
都可用同一 byte数组来表示。
3、BIT
BIT 类型的 Java 映射的推荐类型是 Java 布尔型
4、SMALLINT
SMALLINT 类型的 Java 映射的推荐类型是16位的 Java short 类型
5、INTEGER
INTEGER 类型 Java 映射的推荐类型是 Java int 类型。
6、REAL
REAL 类型的 Java 映射的推荐类型为 Java float 类型
7、DOUBLE
DOUBLE 类型的 Java 映射的推荐类型为 Java double 类型。
8、FLOAT
FLOAT 类型的 Java 映射的推荐类型为 Java double 类型。
9、DECIMAL 、 NUMERIC
DECIMAL 和 NUMERIC 类型的 Java 映射的推荐类型是 java.math.BigDecimal
10、
MySQL 中的 datetime 对应 Java 中的 java.util.date, 如果使用 java.sql.date 时分秒将会丢失。
日期类型 存储空间 日期格式
日期范围
datetime 8bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~9999-12-31 23:59:59
timestamp 4bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01~2037-12-31 23:59:59
date 3bytes YYYY-MM-DD 1000-01-01~9999-12-31