sqlserver中65535_sqlserver中 varchar 最大长度是多少?
MySQL 數據庫的varchar類型在4.1以下的版本中的最大長度限制為255,其數據范圍可以是0~255或1~255(根據不同版本數據庫來定)。在 MySQL5.0以上的版本中,varchar數據類型的長度支持到了65535,也就是說可以存放65532個字節的數據,起始位和結束位占去了3個字 節,也就是說,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的數據可以使用可變長的varchar來存放,這樣就能有效的減少數據庫文件的大小。
VARCHAR值保存時只保存需要的字符數,另加一個字節來記錄長度(如果列聲明的長度超過255,則使用兩個字節)。VARCHAR值保存時不進行填充。當值保存和檢索時尾部的空格仍保留,符合標準SQL。VARCHAR類型的實際長度是它的值的實際長度+1
VARCHAR是變長類型,對于其存儲需求取決于列值的實際長度(在前面的表格中用L表示),而不是取決于類型的最大可能尺寸。例如,一個VARCHAR(10)列能保存最大長度為10個字符的一個字符串,實際的存儲需要是字符串的長度 ,加上1個字節以記錄字符串的長度。對于字符串'abcd',L是4而存儲要求是5個字節。
Mysql5根據編碼不同,存儲大小也不同,具體有以下規則:
編碼長度限制
字符類型若為gbk,每個字符最多占2個字節,最大長度不能超過32766;
字符類型若為utf8,每個字符最多占3個字節,最大長度不能超過21845。
若定義的時候超過上述限制,則varchar字段會被強行轉為text類型,并產生warning。
c) 行長度限制
導致實際應用中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,但是并不是能存這么多數據,最大可以到65533(不允許非空字段的時候),當允許非空字段的時候只能到65532。
總結
以上是生活随笔為你收集整理的sqlserver中65535_sqlserver中 varchar 最大长度是多少?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多帧点云数据拼接合并_多工作簿数据合并,
- 下一篇: 为什么vs数据库中文显示问号_第005期