一、什么是 MySQL signed 类型
MySQL有好几种数据类型,其中包括数字类型。一个有符号整型(signed)是这些数字类型之一。在MySQL中,signed类型在存储负数时使用了二进制补码表示法,因此,signed类型的数据可以表示负数,零,和正数。
二、MySQL signed类型的范围
从技术上讲,MySQL中有许多不同大小的signed类型。下面是MySQL 8.0文档中SIGNED INT, SIGNED LONG, SIGNED BIG INT类型所能承受的范围:
Type Name Bytes Min (Signed) Max (Signed) -----------+--------+---------------------------------+------------------------------------+ SIGNED INT | 4 Bytes | -2,147,483,648 (-231) | 2,147,483,647 (231 – 1) | -----------+--------+---------------------------------+------------------------------------+ SIGNED LONG | 8 Bytes | -9,223,372,036,854,775,808 (-263) | 9,223,372,036,854,775,807 (263 – 1) | -----------+--------+---------------------------------+------------------------------------+ SIGNED BIG | 8 Bytes | -9,223,372,036,854,775,808 (-263) | 9,223,372,036,854,775,807 (263 – 1) | INT | | (alias for SIGNED LONG INT) | | -----------+--------+---------------------------------+------------------------------------+
三、MySQL signed类型的使用场景
大多数情况下使用MySQL中的整型,signed类型就可以满足需求。signed类型足以支持通常需要使用的范围内的数值类型,包括负值。signed类型的缺点是它们不支持大的数值范围。
当需要更大的数值范围时,使用MySQL的DOUBLE或DECIMAL类型通常会更好。这些数据类型可以表示更大的数字,但是它们会消耗更多的存储空间,并且在使用过程中更加复杂。
四、使用 MySQL signed 类型进行查询
在使用 MySQL 查询时,signed类型提供了非常有用的功能。通过使用符号,MySQL可以轻松地确定每个值是否为正数、负数或零。这使得在查询数据时,您可以编写更精确的选择条件。
SELECT * FROM table WHERE signed_column > 0;
上面的查询将只返回大于零的行。
SELECT * FROM table WHERE signed_column < 0;
这个查询将只返回小于零的行。
五、MySQL signed 类型的实际应用举例
现在,我们将在实际应用中看到signed类型如何用于构建数据库表格和执行查询。以下是一个完整的示例:
CREATE TABLE example_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, value SIGNED INT NOT NULL ); INSERT INTO example_table (name, value) VALUES ('Item 1', -10), ('Item 2', 0), ('Item 3', 20);
这将创建一张表,其中包含三个名称为Item 1、Item 2和Item 3的行,以及三个值为-10、0和20,分别使用了signed类型。
现在来运行几个查询:
SELECT * FROM example_table WHERE value < 0;
这将返回值小于零的行:
+----+--------+-------+ | id | name | value | +----+--------+-------+ | 1 | Item 1 | -10 | +----+--------+-------+
同样,下面的查询将返回值大于零的行:
SELECT * FROM example_table WHERE value > 0;
这将返回标记为“Item 3”的行。
通过这个例子,可以看到使用MySQL的signed类型可以轻松地查询特定范围内的数字。不管是建立表格还是执行查询都可以使用它来获得更精确的结果。
原创文章,作者:AHBQ,如若转载,请注明出处:https://www.506064.com/n/145768.html