热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

.Mysql数据类型之整型

MYSQL对于整型的划分应该说是最细致的,总共分了5档,由小到大分别是:TINYINT、SMALLINT、MEDIAINT、INT、BIGINT。BOOL类型和BIT类型也可以看做TINYINT(1),但此处还是暂时忽略不计。因为之

MYSQL对于整型的划分应该说是最细致的,总共分了5档,由小到大分别是:TINYINT 、 SMALLINT 、MEDIAINT 、INT 、 BIGINT。BOOL类型和BIT类型也可以看做TINYINT(1),但此处还是暂时忽略不计。因为之前习惯了Oracle中一个number就搞定所有数值的方式,所以最初这超细粒度的类型划分还是给我带来了不小的困惑。

TINYINT[(M)][UNSIGNED][ZEROFILL]
一个微小整数。-128–127(SIGNED);0–255(UNSIGNED),需要一个字节的存储。

SMALLINT[(M)][UNSIGNED][ZEROFILL]
一个小整数。从 -2^15 (-32768) 到 2^15 – 1 (32767) 的整型数据。存储大小为 2 个字节。

MEDIAINT[(M)][UNSIGNED][ZEROFILL]
一个中等整数。从 -2^23 (8388608) 到 2^23 – 1 (8388607) 的整型数据。存储大小为 3 个字节。

INT[(M)][UNSIGNED][ZEROFILL]
从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

BIGINT[(M)][UNSIGNED][ZEROFILL]
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

说明:

M的含义:
M indicates the maximum display width for integer types. The maximum legal display width is 255. Display width is unrelated to the range of values a type can contain.

示例1:

mysql> CREATE TABLE test1(id TINYINT(1));
Query OK, 0 rows affected (0.06 sec)

mysql> INSERT INTO test1 VALUES(123);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM test1;
+------+
| id   |
+------+
|  123 |
+------+
1 row in set (0.00 sec)

从上面示例中可以看出,M并没有限制可以插入的数值。

示例2:

mysql> CREATE TABLE test2(id TINYINT(3) ZEROFILL) ;
Query OK, 0 rows affected (0.06 sec)

mysql> INSERT INTO test2 VALUES(1);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM test2;
+------+
| id   |
+------+
|  001 |
+------+
1 row in set (0.00 sec)

从上面示例中可以看出,M需要和ZEROFILL配合使用才能发挥作用,用来控制整数数值的显示位数。如果实际数值位数小于所设置的M值,则从左补 0 。

UNSIGNED的含义
表示该字段不允许存储负值。

ZEROFILL的含义
为该值补0,而不是常用的空格,并且将其自动变为 UNSIGNED 。


推荐阅读
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
  • 本文详细介绍了如何使用libpq库与PostgreSQL后端建立连接。通过探讨PQconnectdb()函数的工作原理及其在实际应用中的使用方法,帮助读者理解并掌握建立高效、稳定的数据库连接的关键步骤。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • SQL中UPDATE SET FROM语句的使用方法及应用场景
    本文详细介绍了SQL中UPDATE SET FROM语句的使用方法,通过具体示例展示了如何利用该语句高效地更新多表关联数据。适合数据库管理员和开发人员参考。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
author-avatar
燕过无痕GY_274
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有