日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据库中数据类型的长度

發布時間:2025/3/12 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库中数据类型的长度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql數據庫中數據類型的長度

在mysql中新建數據表的時候會有長度一說,其實用建表語句建數據表的時候也有涉及

例如:

CREATE TABLE user(

uid int(4),

name varchar(255),

passward varchar(20)

birthday data

)

不知道你有沒有注意這個數據類型后面的括號有什么玄機,今天看了《Mysql 5.6 從零開始學》這本書,算是把這個地方搞清楚了。

括號里的數字叫數據的寬度,我們不能一概而論,因為不同的數據類型對寬度的處理也不一樣:

1、整數類型,這里顯示的寬度和數據類型的取值范圍是沒有任何關系的,顯示寬度只是指明Mysql最大可能顯示的數字個數,數值的位數小于指定的寬度時會由空格填充;如果插入了大于顯示寬度的值,只要該值不超過該類型的取值范圍,數值依然可以插入,而且能夠顯示出來。

例如上面的udi,顯示的寬度是4,但是我向uid中插入100001,也是可以的,保存和顯示的都會是100001

如果你不設置寬度,系統將添加默認的寬度 tinyint(4),smallint(6),mediumint(9),int(11),bigint(20),這些默認的寬度是跟該類型的取值范圍長度相關。

2、字符串類型,字符串類型這個寬度才真的用上了。不管是char還是varchar,寬度都定義了字符串的最大長度

例如上面的 password varchar(20),如果你輸入了一個21個字符的密碼,那么保存和顯示的只會是前20個字符,你將丟失一個字符信息,char同理。由于varchar是變長存儲的,所以實際開發中我們一般都把varchar的寬度設為最長255,反正你沒用完它也不會浪費空間。

3、浮點和日期等數據類型對數據的寬度沒有要求,一般也不設置,默認是0

mysql 各數據類型的 大小及長度

數字型

類型大小范圍(有符號)范圍(無符號)用途
TINYINT1 字節(-128,127)(0,255)小整數值
SMALLINT2 字節(-32 768,32 767)(0,65 535)大整數值
MEDIUMINT3 字節(-8 388 608,8 388 607)(0,16 777 215)大整數值
INT或INTEGER4 字節(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整數值
BIGINT8 字節(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)極大整數值
FLOAT4 字節(-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)單精度 浮點數值
DOUBLE8 字節(1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)雙精度 浮點數值
DECIMAL對DECIMAL(M,D) ,如果M>D,為M+2否則為D+2依賴于M和D的值依賴于M和D的值小數值

字符類型

CHAR0-255字節定長字符串
VARCHAR0-255字節變長字符串
TINYBLOB0-255字節不超過 255 個字符的二進制字符串
TINYTEXT0-255字節短文本字符串
BLOB0-65 535字節二進制形式的長文本數據
TEXT0-65 535字節長文本數據
MEDIUMBLOB0-16 777 215字節二進制形式的中等長度文本數據
MEDIUMTEXT0-16 777 215字節中等長度文本數據
LOGNGBLOB0-4 294 967 295字節二進制形式的極大文本數據
LONGTEXT0-4 294 967 295字節極大文本數據

枚舉集合

ENUM (最多65535個成員) 64KB
SET (最多64個成員) 64KB

時間類型

類型大小 (字節)范圍格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3‘-838:59:59’/‘838:59:59’HH:MM:SS時間值或持續時間
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和時間值
TIMESTAMP81970-01-01 00:00:00/2037 年某時YYYYMMDD HHMMSS混合日期和時間值,時間戳

所以MySQL中int長度經常定義為11位,包含所有范圍。

總結

以上是生活随笔為你收集整理的mysql数据库中数据类型的长度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。