我的MYSQL學習心得(2):數據類型寬度

jopen 9年前發布 | 11K 次閱讀 MySQL 數據庫服務器

原文出處: 樺仔的博客

顯示寬度

MYSQL中的整數型數據類型都可以指定顯示寬度,而SQLSERVER不行

 我的MYSQL學習心得(2) :數據類型寬度

創建一個表

CREATE TABLE tb_emp( id BIGINT(1))

id字段的數據類型為BIGINT(1),注意到后面的數字1,這表示的是該數據類型指定的顯示寬度,指定能夠顯示的數值中數字的個數。

例如,假設聲明一個INT類型的字段 YEAR INT(4)

該聲明指明,在year字段中的數據一般只顯示4位數字的寬度。

在SQLSERVER里是會報錯的

CREATE TABLE abc
(id INT(11))
消息 2716,級別 16,狀態 1,第 1 行
第 1 個列、參數或變量: 不能對數據類型 int 指定列寬。

顯示寬度和數據類型的取值范圍是無關的。顯示寬度只是指明MYSQL最大可能顯示的數字個數,數值的位數小于指定的寬度時會有空格填充

如果插入了大于顯示寬度的值,只要該值不超過該類型整數的取值范圍,數值依然可以插入,而且能顯示出來。

例如,向year字段插入一個數值19999,當使用select查詢的時候,MYSQL顯示的將是完整帶有5位數字的19999,而不是4位數字的值

如果不指定顯示寬度,則MYSQL為每一種類型指定默認的寬度值

tips:顯示寬度只用于顯示,并不能限制取值范圍和占用空間,例如:INT(3)會占用4個字節的存儲空間,并且允許的最大值也不會是999,而是INT整型

所允許的最大值。

如有不對的地方,歡迎大家拍磚o(∩_∩)o

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!