国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 罗田县| 平远县| 宝鸡市| 临泽县| 二手房| 灵寿县| 闸北区| 濉溪县| 上思县| 新津县| 左权县| 大城县| 方城县| 安龙县| 榆林市| 嘉禾县| 遂平县| 宁波市| 吉木萨尔县| 鄂托克前旗| 大厂| 福鼎市| 新疆| 襄城县| 天台县| 黄龙县| 巨鹿县| 伊金霍洛旗| 台湾省| 神农架林区| 安多县| 新建县| 北宁市| 馆陶县| 巧家县| 邵武市| 商河县| 石首市| 潢川县| 九龙坡区| 斗六市|