Mysql数据类型

数据库引擎

  1. InnoDB

    ​5.5版本后MySQL默认数据库引擎,支持事物和行级锁定, 只有通过索引条件检索数据,InnoDB 才使用行级锁,否则,InnoDB 将使用表锁。行级锁不是直接锁记录,而是锁索引。

  2. 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) 精确到豪秒,有三位小数。

posted @   低调的man  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示