可以設(shè)置數(shù)據(jù)類型長度
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)利津,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
精確數(shù)字
整數(shù)
bigint
從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數(shù)據(jù)(所有數(shù)字)。
int
從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數(shù)據(jù)(所有數(shù)字)。
smallint
從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整數(shù)數(shù)據(jù)。
tinyint
從 0 到 255 的整數(shù)數(shù)據(jù)。
bit
bit
1 或 0 的整數(shù)數(shù)據(jù)。
decimal 和 numeric
decimal
從 -10^38 +1 到 10^38 –1 的固定精度和小數(shù)位的數(shù)字?jǐn)?shù)據(jù)。
numeric
功能上等同于 decimal。
money 和 smallmoney
money
貨幣數(shù)據(jù)值介于 -2^63 (-922,337,203,685,477.5808) 與 2^63 - 1 (+922,337,203,685,477.5807) 之間,精確到貨幣單位的千分之十。
smallmoney
貨幣數(shù)據(jù)值介于 -214,748.3648 與 +214,748.3647 之間,精確到貨幣單位的千分之十。
近似數(shù)字
float
從 -1.79E + 308 到 1.79E + 308 的浮點精度數(shù)字。
real
從 -3.40E + 38 到 3.40E + 38 的浮點精度數(shù)字。
datetime 和 smalldatetime
datetime
從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數(shù)據(jù),精確到百分之三秒(或 3.33 毫秒)。
smalldatetime
從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時間數(shù)據(jù),精確到分鐘。
字符串
char
固定長度的非 Unicode 字符數(shù)據(jù),最大長度為 8,000 個字符。
varchar
可變長度的非 Unicode 數(shù)據(jù),最長為 8,000 個字符。
text
可變長度的非 Unicode 數(shù)據(jù),最大長度為 2^31 - 1 (2,147,483,647) 個字符。
Unicode 字符串
nchar
固定長度的 Unicode 數(shù)據(jù),最大長度為 4,000 個字符。
nvarchar
可變長度 Unicode 數(shù)據(jù),其最大長度為 4,000 字符。sysname 是系統(tǒng)提供用戶定義的數(shù)據(jù)類型,在功能上等同于 nvarchar(128),用于引用數(shù)據(jù)庫對象名。
ntext
可變長度 Unicode 數(shù)據(jù),其最大長度為 2^30 - 1 (1,073,741,823) 個字符。
二進制字符串
binary
固定長度的二進制數(shù)據(jù),其最大長度為 8,000 個字節(jié)。
varbinary
可變長度的二進制數(shù)據(jù),其最大長度為 8,000 個字節(jié)。
image
可變長度的二進制數(shù)據(jù),其最大長度為 2^31 - 1 (2,147,483,647) 個字節(jié)。
其它數(shù)據(jù)類型
cursor
游標(biāo)的引用。
sql_variant
一種存儲 SQL Server 支持的各種數(shù)據(jù)類型(text、ntext、timestamp 和 sql_variant 除外)值的數(shù)據(jù)類型。
table
一種特殊的數(shù)據(jù)類型,存儲供以后處理的結(jié)果集。
timestamp
數(shù)據(jù)庫范圍的唯一數(shù)字,每次更新行時也進行更新。
uniqueidentifier
全局唯一標(biāo)識符 (GUID)。
工具:phpmyadmin,navicat,sqlyogent這些都可以的。
命令提示符下:
修改表expert_info中的字段birth,允許其為空
命令:alter table expert_info change birth birth varchar(20) null;
MySQL 數(shù)據(jù)庫的varchar類型在4.1以下的版本中的最大長度限制為255,其數(shù)據(jù)范圍可以是0~255或1~255(根據(jù)不同版本數(shù)據(jù)庫來定)。在 MySQL5.0以上的版本中,varchar數(shù)據(jù)類型的長度支持到了65535,也就是說可以存放65532個字節(jié)的數(shù)據(jù),起始位和結(jié)束位占去了3個字 節(jié),也就是說,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的數(shù)據(jù)可以使用可變長的varchar來存放,這樣就能有效的減少數(shù)據(jù)庫文 件的大小。
MySQL 數(shù)據(jù)庫的varchar類型在4.1以下的版本中,nvarchar(存儲的是Unicode數(shù)據(jù)類型的字符)不管是一個字符還是一個漢字,都存為2個字節(jié) ,一般用作中文或者其他語言輸入,這樣不容易亂碼 ;varchar: 漢字是2個字節(jié),其他字符存為1個字節(jié) ,varchar適合輸入英文和數(shù)字。
4.0版本以下,varchar(20),指的是20字節(jié),如果存放UTF8漢字時,只能存6個(每個漢字3字節(jié)) ;5.0版本以上,varchar(20),指的是20字符,無論存放的是數(shù)字、字母還是UTF8漢字(每個漢字3字節(jié)),都可以存放20個,最大大小是65532字節(jié) ;varchar(20)在Mysql4中最大也不過是20個字節(jié),但是Mysql5根據(jù)編碼不同,存儲大小也不同,具體有以下規(guī)則:
a) 存儲限制
varchar 字段是將實際內(nèi)容單獨存儲在聚簇索引之外,內(nèi)容開頭用1到2個字節(jié)表示實際長度(長度超過255時需要2個字節(jié)),因此最大長度不能超過65535。
b) 編碼長度限制
字符類型若為gbk,每個字符最多占2個字節(jié),最大長度不能超過32766;
字符類型若為utf8,每個字符最多占3個字節(jié),最大長度不能超過21845。
若定義的時候超過上述限制,則varchar字段會被強行轉(zhuǎn)為text類型,并產(chǎn)生warning。
c) 行長度限制
導(dǎo)致實際應(yīng)用中varchar長度限制的是一個行定義的長度。 MySQL要求一個行的定義長度不能超過65535。若定義的表長度超過這個值,則提示
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。
---------------------------------------------------------------------
mysql的vachar字段的類型雖然最大長度是65535,但是并不是能存這么多數(shù)據(jù),最大可以到65533(不允許非空字段的時候),當(dāng)允許非空字段的時候只能到65532。
這個意思是varchar存儲時,會用1個二進制位表示varchar長度; 但如果varchar列可能超過255字節(jié),會使用2個二進制位表示長度。
length只是計算值的字節(jié)數(shù),并不會計算存儲的開銷。
如果一定要驗證,只能是嘗試觸發(fā)行65535限制。
參考資料:
MySQL字段長度、取值范圍、存儲開銷
MySQL存儲要求
長度指的是字段的存儲長度最大值。
如字段name的字符串長度為“10”,那么只能是最大長度為“10”個字符。
值指的是字段的存儲的內(nèi)容。
如字段name字段存儲的內(nèi)容為“zhangsan”,那么name字段中的值就是”zhangsan“。
擴展資料:
mysql數(shù)據(jù)庫常用命令
1、使用SHOW語句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫
mysql SHOW DATABASES;
2、創(chuàng)建一個數(shù)據(jù)庫MYSQLDATA
mysql CREATE DATABASE MYSQLDATA;
3、選擇用戶所創(chuàng)建的數(shù)據(jù)庫
mysql USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時說明操作成功)
參考資料來源:百度百科-MySQL數(shù)據(jù)庫
參考資料來源:百度百科-mySQL (關(guān)系型數(shù)據(jù)庫管理系統(tǒng))
MySQL的varchar定義長度到底是字節(jié)
varchar存儲規(guī)則:
4.0版本以下,varchar(20),指的是20字節(jié),如果存放UTF8漢字時,只能存6個(每個漢字3字節(jié))
5.0版本以上,varchar(20),指的是20字符,無論存放的是數(shù)字、字母還是UTF8漢字(每個漢字3字節(jié)),都可以存放20個,最大大小是65532字節(jié)
Mysql4中最大也不過是20個字節(jié),但是Mysql5根據(jù)編碼不同,存儲大小也不同。