MySQL数据库提供了多种数据类型,其中包括数字类型、时间和日期类型、字符串类型

1、数字类型

数字类型包括整数类型、浮点数类型、定点类型、BIT(位)类型等

1.1整数类型

整数类型根据取值范围的不同又分为五种:

  1. TINYINT
  2. SMALLINT
  3. MEDIUMINT
  4. INT
  5. BIGINT

不同整数类型所占用的字节数和取值范围都是不同的,其取值范围可根据字节数计算

使用无符号数据类型时,需在数据类型后加上UNSIGNED关键字修饰

小提示:

  1. 若一个数据将来可能参与运算则选择数字类型,若只用来显示则推荐使用字符串类型
  2. 表的主键推荐使用数字类型,因为与字符串相比,数字类型的处理效率更高,查询速度快
  3. 当插入的值与字段数据的数据类型不同时,MySQL会尽可能将现有值转换为新类型,转换为整数时会四舍五入

1.2浮点数类型

浮点数的类型有两种:单精度浮点数和双精度浮点数

FLOAT:单精度浮点数

字节数:4

负数取值范围:-3.402823466E+38 ~ -1.175494351E-38

非负数取值范围:0和1.175494351E-38 ~ .402823466E+38

DOUBLE:双精度浮点数

字节数:8

负数取值范围:-1.7976931348623157E+308 ~ -2.2250738585072014E-308

非负数取值范围:0和2.2250738585072014E-308 ~ 1.7976931348623157E+308

取值范围为理论上的极限值,根据不同的硬件或操作系统,实际范围可能会小

FLOAT的精度为6位或7位,DOUBLE的精度大约位15位

1.3定点数类型

DECIMAL:定点数类型

它通过DECIMAL(M,D)来设置位数和精度,可用UNSIGNED修饰

M:位数,最大值为65,默认值为10

D:精度,最大值为30,默认为0

DECIMAL(5,2)表示-999.99~999.99

小数部分超出范围会进行四舍五入,整数部分超出范围则数据会插入失败

1.4BIT(位)类型

BIT(位)类型用于存储二进制数据,语法为BIT(M),M为位数,范围为1~64

2、时间和日期类型

日期格式YYYY表示年,MM表示月,DD表示日,SS表示秒

数据类型 描述
DATE() 日期。格式:YYYY-MM-DD 取值范围 '1000-01-01' <<<>>> '9999-12-31'
DATETIME() 日期和时间的组合。格式: YYYY-MM-DD HH:MM:SS 注释:支持的范围是'1000-01-01 00:00:00' <<<>>> '9999-12- 31 23:59:59'
TIMESTAMP() 时间戳。 TIMESTAMP 值使用 Unix 纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式: YYYY-MM-DD HH:MM:SS 注释:支持的范围是从 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC
TIME() 时间。格式: HH:MM:SS 注释:支持的范围是从 '-838:59:59' 到 '838:59:59'
YEAR() 2 位或 4 位格式的年。 注释: 4 位格式所允许的值: 1901 到 2155。 2 位格式所允许 的值: 70 到69,表示从 1970 到 2069

3、文本类型类型

数据类型 描述
CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字 符)。在括号中指定字符串的长度。最多 255 个字符。
VARCHAR(size) 保存可变长度的字符串(可包含字母、数字以及特殊字 符)。在括号中指定字符串的最大长度。最多 255 个字 符。如果size>255,则类型会自动转换为TEXT类型。
TEXT 存放最大长度为 65,535 个字符的字符串。
TINYTEXT 存放最大长度为 255 个字符的字符串。
MEDIUMTEXT 存放最大长度为 16,777,215 个字符的字符串。
LONGTEXT 存放最大长度为 4,294,967,295 个字符的字符串。
BLOB 用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字节的数据。
MEDIUMBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。
LONGBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。
ENUM 枚举类型
Logo

一站式 AI 云服务平台

更多推荐