国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql長整型指的是什么

2024-07-24 12:34:20
字體:
供稿:網(wǎng)友
  整數(shù)類型又稱數(shù)值型數(shù)據(jù),數(shù)值型數(shù)據(jù)類型主要用來存儲數(shù)字。
 
  MySQL 提供了多種數(shù)值型數(shù)據(jù)類型,不同的數(shù)據(jù)類型提供不同的取值范圍,可以存儲的值范圍越大,所需的存儲空間也會越大。
 
  MySQL 主要提供的整數(shù)類型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其屬性字段可以添加 AUTO_INCREMENT 自增約束條件。下表中列出了 MySQL 中的數(shù)值類型。
 
  類型 大小 范圍(有符號) 范圍(無符號) 用途
  TINYINT 1個字節(jié) (-128,127) (0,255) 小整數(shù)值
  SMALLINT 2個字節(jié) (-32 768,32 767) (0,65 535) 大整數(shù)值
  MEDIUMINT 3個字節(jié) (-8 388 608,8 388 607) (0,16 777 215) 大整數(shù)值
  INT或INTEGER 4個字節(jié) (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整數(shù)值
  BIGINT 8個字節(jié) (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 極大整數(shù)值
  從上表中可以看到,不同類型的整數(shù)存儲所需的字節(jié)數(shù)不相同,占用字節(jié)數(shù)最小的是 TINYINT 類型,占用字節(jié)最大的是 BIGINT 類型,占用的字節(jié)越多的類型所能表示的數(shù)值范圍越大。因而,mysql的長整型是“BIGINT”。
 
  MySQL BIGINT
 
  BIGINT 是 ab 字節(jié)或 64 位整數(shù)值,在存儲大整數(shù)值時非常有用。
 
  MySQL BIGINT 與任何其他 MySQL 整數(shù)數(shù)據(jù)類型一樣,可以是有符號或無符號的。有符號數(shù)據(jù)類型表示該列可以存儲正整數(shù)和負(fù)整數(shù)值。這是 MySQL 中大多數(shù)整數(shù)類型的默認(rèn)類型。因此,除非明確指定,否則任何整數(shù)類型列都可以存儲正整數(shù)和負(fù)整數(shù)。
 
  另一方面,無符號數(shù)據(jù)類型表示該列只能存儲正整數(shù)值。
 
  有符號 MySQL BIGINT 類型的范圍在 -9223372036854775808 和 9223372036854775807 之間
 
  對于無符號 BIGINT 類型,取值范圍為 0 到 18446744073709551615。
 
  BIGINT 類型的另一個屬性是 ZEROFILL。在列上指定此屬性后,該列將自動設(shè)置為 UNSIGNED。
 
  zerofill 屬性也用零填充空格。
 
  BIGINT示例:
 
  讓我們看幾個例子來說明如何使用 BIGINT 類型。
 
  CREATE DATABASE IF NOT EXISTS integers;
  USE integers;
  接下來,讓我們創(chuàng)建一個表并用各種 BIGINT 列填充它,如下面的查詢所示:
 
  CREATE TABLE examples(x BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, y BIGINT UNSIGNED, z BIGINT ZEROFILL );
  示例 1
 
  讓我們首先嘗試將所有正值添加到表中:
 
  INSERT INTO examples(x,y,z) VALUES (1,2,3);
  在上面的示例查詢中,這些值是可接受的,因為它們在有符號、無符號和 zerofill BIGINT 類型的范圍內(nèi)。
 
  SELECT * FROM examples;
 
  示例 2
 
  在下一個案例中,讓我們嘗試添加所有負(fù)值。示例查詢?nèi)缦拢?br /> 
  INSERT INTO examples(x,y,z) VALUES (-1,-2,-3);
  ERROR 1264 (22003): Out of range value for column 'y' at row 1
  在這種情況下,查詢失敗,因為 y 列是無符號的。因此,為列分配負(fù)值超出了列范圍。
 
  示例 3
 
  我們可以觀察到與上述第三列類似的情況。zerofill 屬性自動使列無符號,使添加負(fù)值超出范圍。一個例子是:
 
  INSERT INTO examples(x,y,z) VALUES (-1,2,-3);
  ERROR 1264 (22003): Out of range value for column 'z' at row 1
  示例 4
 
  現(xiàn)在讓我們嘗試添加每種類型的最大值。一個示例查詢是:
 
  INSERT INTO examples(x,y,z) VALUES (-9223372036854775808, 9223372036854775808, 9223372036854775808);
  在上面的示例中,由于所有值都在范圍內(nèi),因此查詢成功執(zhí)行。
 
  考慮下面的查詢:
 
  INSERT INTO examples(x,y,z) VALUES (9223372036854775807, 9223372036854775808, 9223372036854775808);
  您會注意到所有值都在最大值上。由于 x 列設(shè)置為 AUTO_INCREMENT,因此向其添加值將失敗。
 
  INSERT INTO examples(y,z) VALUES (9223372036854775808, 9223372036854775808);
  ERROR 1062 (23000): Duplicate entry '9223372036854775807' for key 'examples.PRIMARY'
  但是,如果在 MySQL 中禁用了嚴(yán)格模式,您可以插入超出范圍的值。
 
  SELECT * FROM examples;
 
  “mysql長整型指的是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙门县| 和田市| 高要市| 库伦旗| 静安区| 三亚市| 石河子市| 江川县| 大邑县| 兴文县| 浦北县| 德庆县| 含山县| 包头市| 九江县| 花莲县| 弥勒县| 苏尼特左旗| 五大连池市| 逊克县| 鄢陵县| 农安县| 巴楚县| 万载县| 平果县| 砀山县| 崇文区| 连南| 澄城县| 阿拉尔市| 兴业县| 榆社县| 金堂县| 柘城县| 中西区| 师宗县| 彝良县| 麻江县| 毕节市| 双流县| 靖江市|