类型名称 | 显示长度 | 数据库类型 | JAVA 类型 | JDBC 类型索引(int) | 描述 |
---|---|---|---|---|---|
VARCHAR | L+N | VARCHAR | java.lang.String | 12 | |
CHAR | N | CHAR | java.lang.String | 1 | |
BLOB | L+N | BLOB | java.lang.byte[] | -4 | |
TEXT | 65535 | VARCHAR | java.lang.String | -1 | |
INTEGER | 4 | INTEGER UNSIGNED | java.lang.Long | 4 | |
TINYINT | 3 | TINYINT UNSIGNED | java.lang.Integer | -6 | |
SMALLINT | 5 | SMALLINT UNSIGNED | java.lang.Integer | 5 | |
MEDIUMINT | 8 | MEDIUMINT UNSIGNED | java.lang.Integer | 4 | |
BIT | 1 | BIT | java.lang.Boolean | -7 | |
BIGINT | 20 | BIGINT UNSIGNED | java.math.BigInteger | -5 | |
FLOAT | 4+8 | FLOAT | java.lang.Float | 7 | |
DOUBLE | 22 | DOUBLE | java.lang.Double | 8 | |
DECIMAL | 11 | DECIMAL | java.math.BigDecimal | 3 | |
BOOLEAN | 1 | 同 TINYINT | |||
ID | 11 | PK (INTEGER UNSIGNED) | java.lang.Long | 4 | |
DATE | 10 | DATE | java.sql.Date | 91 | |
TIME | 8 | TIME | java.sql.Time | 92 | |
DATETIME | 19 | DATETIME | java.sql.Timestamp | 93 | |
TIMESTAMP | 19 | TIMESTAMP | java.sql.Timestamp | 93 | |
YEAR | 4 | YEAR | java.sql.Date | 91 |
| 对于 bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在 java 中对应 byte[]数组。
对于 boolen 类型,在 mysql 数据库中,个人认为用 int 类型代替较好,对 bit 操作不是很方便,尤其是在具有 web 页面开发的项目中,表示 0/1,对应 java 类型的 Integer 较好。 |
---|
decimal 列的声明语法是 decimal(m,d)。
在 mysql5.1 中,参数的取值范围:
1、M 是数字的最大数(精度)。其范围为 1 ~ 65(在较旧的 MySQL 版本中,允许的范围是 1 ~ 254)。
2、D 是小数点右侧数字的数目(标度)。其范围是 0 ~ 30,但不得超过 M。
说明:float 占 4 个字节,double 占 8 个字节,decimail(M,D)占 M+2 个字节。
如 DECIMAL(5, 2) 的最大值为 9 9 9 9 . 9 9,因为有 7 个字节可用。