MySQL 数据(字段)类型
在创建表的时候,要明确定义字段对应的数据类型。MySQL 主要的数据类型分为数值类型、字符串(文本)类型、时间日期类型和其他类型几类。
数值类型
| 数值类型说明: | ||
| 类型 | 说明 | 例子 |
| tinyint | 存储范围:-128至127或0至255 | tinyint(1) |
| smallint | 存储范围:-32768至32767或0至65535 | smallint(3) |
| mediumint | 存储范围:- 8388608至8388607或0至16777215 | mediumint(5) |
| int | 存储范围:- 21474838至21474837或0至4294967295 | int(10) |
| bigint | 存储范围:- 9223372036854775808至9223372036854775807或0至184********709551615 | bigint(10) |
| float | 最小非零值:±1.175494351E – 38,同double一样适用于精度要求高的场合 | float(3,1) |
| double | 最小非零值:±2.2250738585072014E - 308 | double(10,5) |
| decimal | 取值范围可变,以来括号内的显示尺寸和小数点位数而定,适用于对精度要求不高但准确度要求非常高的场合 | decimal(10,2) |
1.在 int(integer) 系列中,只能存储整型值,且可以在后面用括号指定显示的尺寸(M),如果不指定则会默认分配。如果实际值的显示宽度大于设定值,将会显示实际值而不会截断以适应显示尺寸。如 smallint(3) 中的 3 即为显示尺寸,即显示三位的数值(不包括 - 号)
2.int 类型可以指定 UNSIGNED 属性,即无符号(非负),所以存储范围有两种
3.在 float、double 及 decimal 类型中,不能指定 UNSIGNED 属性,其显示尺寸包含了小数点精度(D),即 float(3,1) 保存范围为 -99.9 至 99.9
4.decimal 必须指定显示尺寸(M)和小数点精度(D),float 和 double 都是可选的
5.在可能涵盖取值范围的基础上,尽可能选择较小的类型以提高效率和节约存储空间,如年龄,就选择 tinyint(3) 。该原则对于字符类型同样适用
字符串(文本)类型
| 字符串(文本)类型说明: | ||
| 类型 | 说明 | 例子 |
| char | 支持固定长度的字符串, 最大长度是 255 个字符 | char(100) |
| varchar | 支持可变长度的字符串, 最大长度是 65535 个字符 | varchar(1000) |
| tinytext | 支持可变长度的字符串,最大长度是 255 个字符 | tinytext |
| text blob | 支持可变长度的字符串,最大长度是 65535 个字符 | text |
| mediumtext mediumblob | 支持可变长度的字符串,最大长度是 16777215 个字符 | mediumtext |
| longtext longblob | 支持可变长度的字符串,最大长度是 4294967295 个字符 | longtext |
| enum | 枚举类型,可存储最多65535 个成员,常用于取值是有限而且固定的场合 | enmu("男女") |
| set | 集合类型,可存储最多个成员 | set("value1 |
char 和 varcha 需要指定长度,不同的是,char 存储时总是按照指定的长度储存,而 varchar 则根据实际字符串长度再加上一个字节分配空间。
时间日期类型
| 时间日期类型说明: | ||
| 类型 | 说明 | 例子 |
| date | YYYY-MM-DD 格式表示的日期值 | date |
| time | hh:mm:ss 格式表示的时间值 | time |
| datetime | YYYY-MM-DD hh:mm:ss 格式表示的日期和时间值 | datetime |
| timestamp | YYYYMMDDhhmmss 格式表示的时间戳值 | timestamp |
| year | YYYY 格式表示的年份值 | year |
标签: JAVA数据类型 Mysql数据库字段 分类: J2EE 2007-06-22 14:41
Mysql数据字段 整型 JDBC
============== ==================
数值型
tinyint java.lang.Integer
smallint
mediumint java.lang.Long
int
bigint java.math.BigInteger
单精度浮点型
float java.lang.Float
双精度浮点型
double java.lang.Double
其他
decimal java.math.BigDecimal
字符型
char java.lang.String
varchar
tinytext
text
mediumtext
longtext
日期型
date java.sql.Date
datetime java.sql.Timestamp
timestamp java.sql.Timestamp
time java.sql.Time
year java.sql.Date
其他
tinyblob 待定
blob
mediumblob
longblob
enum
set 下载本文