(三)数据库三种基本类型
MySQL数据库提供了多种数据类型,其中包括数字类型、时间和日期类型、字符串类型。
MySQL数据库提供了多种数据类型,其中包括数字类型、时间和日期类型、字符串类型
1、数字类型
数字类型包括整数类型、浮点数类型、定点类型、BIT(位)类型等
1.1整数类型
整数类型根据取值范围的不同又分为五种:
- TINYINT
- SMALLINT
- MEDIUMINT
- INT
- BIGINT
不同整数类型所占用的字节数和取值范围都是不同的,其取值范围可根据字节数计算
使用无符号数据类型时,需在数据类型后加上UNSIGNED关键字修饰
小提示:
- 若一个数据将来可能参与运算则选择数字类型,若只用来显示则推荐使用字符串类型
- 表的主键推荐使用数字类型,因为与字符串相比,数字类型的处理效率更高,查询速度快
- 当插入的值与字段数据的数据类型不同时,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 | 枚举类型 |
更多推荐




所有评论(0)