网站首页 > 技术文章 正文
1.1 数据类型概览
MySQL 的数据类型可划分为三大类别:
- 数值类型:旨在存储数字(涵盖整型、浮点型、DECIMAL 等)。
- 字符串类型:主要用于存储文本(诸如 CHAR、VARCHAR 之类)。
- 日期/时间类型:用于留存日期和时间(例如 DATE、TIME 等)。
1.2 数值类型详析
1.2.1 整型
数据类型 | 所占字节 | 带符号取值范围 | 无符号取值范围 |
TINYINT | 1 | -128 至 127 | 0 至 255 |
SMALLINT | 2 | -32,768 至 32,767 | 0 至 65,535 |
MEDIUMINT | 3 | -8,388,608 至 8,388,607 | 0 至 16,777,215 |
INT | 4 | -2,147,483,648 至 2,147,483,647 | 0 至 4,294,967,295 |
BIGINT | 8 | -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 | 0 至 18,446,744,073,709,551,615 |
说明:
- 整型默认许可负数(呈带符号之态),借由 UNSIGNED 属性能够加以限制,使之成为非负数。
- 显示宽度(诸如 INT(5) )仅仅对输出格式产生影响,而并不制约实际的存储范围。
1.2.2 浮点型
数据类型 | 所占字节 | 带符号取值范围 | 无符号取值范围 |
FLOAT | 4 | -3.402823466E+38 至 1.175494351E-38 | 1.175494351E-38 至 3.402823466E+38 |
DOUBLE | 8 | -1.7976931348623157E+308 至 2.2250738585072014E-308 | 2.2250738585072014E-308 至 1.7976931348623157E+308 |
特点:
- 浮点数或许存有精度损失(例如 0.1 + 0.2 或许并不等同于 0.3 )。
- 建议针对货币等需要精确计算的情形使用 DECIMAL 。
1.2.3 精确数型(DECIMAL)
- 语法:DECIMAL(M, D)
- M:总位数(涵盖小数点前后,不含负号)。
- D:小数点后的位数。
- 默认值:M若缺失则默认为 10,D若缺失则默认为 0。
- 示例:
- DECIMAL(5,2):最大值为999.99,最小值为-999.99。
- DECIMAL(10):等同于DECIMAL(10,0),用于存储整数。
1.3 整数类型的扩展属性
1.3.1 UNSIGNED(无符号)
- 作用:对数值加以限制,使其为非负数[^1.9^]。
- 示例:
CREATE TABLE test (
id INT UNSIGNED -- 取值范围:0 至 4,294,967,295
);
1.3.2 ZEROFILL(零填充)
- 作用:以前置零补足不足的位数,并自动启用 UNSIGNED1 。
- 示例:
CREATE TABLE test (
num INT(3) ZEROFILL -- 存入 5,显示为"005"
);
1.3.3 显示宽度
- 语法:INT(N),其中 N 为显示宽度(1 至 255)。
- 注意:
- 显示宽度仅对输出格式产生影响,并不限制实际的存储值。
- 例如:INT(3)能够存储 12345,但在查询时可能会显示为 12345(超出设定宽度)。
1.4 浮点类型的显示控制
- 语法: FLOAT(M, D) / DOUBLE(M, D)1
- M:总的显示宽度(涵盖小数点)。
- D:小数点后的位数。
- 示例:
CREATE TABLE test (
price FLOAT(7, 2)
); -- 最大显示 7 位,如 1234.56 会进行四舍五入为 1234.56
- 注意: 实际的存储精度依旧由 FLOAT/DOUBLE 予以决定,而显示宽度仅仅对输出产生影响。
猜你喜欢
- 2025-08-31 HashMap详解_hashmap lru
- 2025-08-31 孩子们的游戏(圆圈中最后剩下的数)
- 2025-08-31 一招教你搞定西门子博图SCL编程语句中FOR循环指令,so easy
- 2025-08-31 JAVA序列化那些事儿_java序列化方式和作用
- 2025-08-31 雨刮器的INT功能你真的会用吗?别再当摆设了,老司机手把手教你
- 2025-08-31 认识变量与常量_变量与常量的定义
- 2025-08-31 PLC数学函数有哪些呢_plc常用的数学计算
- 2025-08-31 python中字典详解及使用_python里字典怎么用
- 2025-08-31 算法“动态规划”最佳实践——背包问题
- 2025-08-31 大语言模型解释Python 命令行参数详解
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)