Mysql数据类型
数据库引擎
-
InnoDB
5.5版本后MySQL默认数据库引擎,支持事物和行级锁定, 只有通过索引条件检索数据,InnoDB 才使用行级锁,否则,InnoDB 将使用表锁。行级锁不是直接锁记录,而是锁索引。
-
MyISAM
只有表级锁,不支持事物,大量查询时速度更快,MyISAM中不会产生死锁,因为它总是一次性获得所需的全部锁
MySQL架构

MySQL数据类型
整型
| 类型 | Java类型 | 字节 | 范围(-无符号 +有符号) |
|---|---|---|---|
| tinyint | byte | 1字节 | -(-128127)+(0255) |
| smallint | short | 2字节 | -(-32768~32767) +(0~65535) |
| int | int | 4字节 | -(-2147483648~2147483647) +(0~4294967295) |
| bigint | long | 8字节 | -(-9223372036854775808~9223372036854775807) +(0~18446744073709551615) |
小数(M 表示小数的有效数字,D 表示小数点后的有效数字。)
| 类型 | Java类型 | 字节 |
|---|---|---|
| FLOAT(M, D) | float | 4字节 |
| DOUBLE(M, D) | double | 8字节 |
| DECIMAL(M, D) | BigDecimal | M 和 D 决定 |
字符串
| 类型 | 范围 |
|---|---|
| CHAR | 固定长度,最多255个字符 |
| varchar(n) | 固定长度,最多65535个字符 |
| tinytext | 可变长度,最多255个字符 |
| text | 可变长度,最多65535个字符 |
| mediumtext | 可变长度,最多2的24次方-1个字符 |
| longtext | 可变长度,最多2的32次方-1个字符 |
时间和日期
| 类型 | 描述 | 字节 | 范围 |
|---|---|---|---|
| YEAR | 年份 | 1字节 | 1901~2155 |
| DATE | 日期,年月日 | 3字节 | 1000-01-01~ 9999-12-31 |
| TIME(fsp) | 时间,时分秒 | 3字节 | -838:59:59.000000 ~ 838:59:59.000000 |
| DATETIME | 日期+时间 | 5字节 | 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999 |
| TIMESTAMP(fsp) | UTC 时间戳 | 4字节 | 1970-01-01 00:00:01.000000 ~ 2038-01-19 03:14:07.999999 |
TIMESTAMP(fsp) 中的 fsp 是指秒的精度(x.xxx xxx),fsp取值 0,1,2,3,4,5,6。
TIME、DATETIME、TIMESTAMP 这几种类型支持小数秒。
DATETIME(0) 精确到秒,没有小数位, DATETIME(3) 精确到豪秒,有三位小数。

浙公网安备 33010602011771号