程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql中int、bigint、smallint和tinyint的區別與長度

mysql中int、bigint、smallint和tinyint的區別與長度

編輯:MySQL綜合教程

mysql中int、bigint、smallint和tinyint的區別與長度   通過創建一張表,來看看 mysql 中 int bigint smallint 和 tinyint的區別與長度   www.2cto.com   1、在mysql 命令行創建如下表   01 CREATE TABLE `test_int_1` ( 02   `int_id` int NOT NULL, 03   `bigint_id` bigint DEFAULT NULL, 04   `bigint_25` bigint(25) DEFAULT NULL, 05   `bigint_18` bigint(18) DEFAULT NULL, 06   `int_8` int(8) DEFAULT NULL, 07   `int_3` int(3) DEFAULT NULL, 08   `smallint_id` smallint DEFAULT NULL, 09   `tinyint_id` tinyint DEFAULT NULL, 10   PRIMARY KEY (`int_id`) 11 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 2、desc     01 mysql> desc test_int_1; 02 +-------------+-------------+------+-----+---------+-------+ 03 | Field       | Type        | Null | Key | Default | Extra | 04 +-------------+-------------+------+-----+---------+-------+ 05 | int_id      | int(11)     | NO   | PRI | NULL    |       | 06 | bigint_id   | bigint(20)  | YES  |     | NULL    |       | 07 | bigint_25   | bigint(25)  | YES  |     | NULL    |       | 08 | bigint_18   | bigint(18)  | YES  |     | NULL    |       | 09 | int_8       | int(8)      | YES  |     | NULL    |       | 10 | int_3       | int(3)      | YES  |     | NULL    |       | 11 | smallint_id | smallint(6) | YES  |     | NULL    |       | 12 | tinyint_id  | tinyint(4)  | YES  |     | NULL    |       | 13 +-------------+-------------+------+-----+---------+-------+ 14 8 rows in set (0.00 sec) 對比發現 int bigint smallint 和 tinyint 類型,如果創建新表時沒有指定 int(M) 中的M時,默認分別是 :   int             -------     int(11)   bigint       -------     bigint(20)   smallint   -------     smallint(6)   tinyint     -------     tinyint(4)   下面是這幾種類型的取值范圍     MySQL還支持選擇在該類型關鍵字後面的括號內指定整數值的顯示寬度(例如,INT(4))。int(M) 在 integer 數據類型中,M 表示最大顯示寬度,該可選顯示寬度規定用於顯示寬度小於指定的列寬度的值時從左側填滿寬度。   顯示寬度並不限制可以在列內保存的值的范圍,也不限制超過列的指定寬度的值的顯示。   在 int(M) 中,M 的值跟 int(M) 所占多少存儲空間並無任何關系。和數字位數也無關系, int(3)、int(4)、   int(8) 在磁盤上都是占用 4 btyes 的存儲空間。   當結合可選擴展屬性ZEROFILL使用時, 默認補充的空格用零代替。例如,對於聲明為INT(5) ZEROFILL的列,   值4檢索為00004。    bigint 用於某些特殊的情況,當整數值超過 int 數據類型支持的范圍時,就可以采用 bigint。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved