数据库引擎
-
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 |
标签:00,01,字节,数据类型,DATETIME,fsp,Mysql,个字符 From: https://www.cnblogs.com/dreamfty/p/16723741.htmlTIMESTAMP(fsp) 中的 fsp 是指秒的精度(x.xxx xxx),fsp取值 0,1,2,3,4,5,6。
TIME、DATETIME、TIMESTAMP 这几种类型支持小数秒。
DATETIME(0) 精确到秒,没有小数位, DATETIME(3) 精确到豪秒,有三位小数。