我們在mysql中新建表時,需要對各個欄位的屬性進行設定,當然,這其中也包含了長度這一屬性,下面就這一屬性如何設定進行說明。
首先,sql中的長度=位元組,也即是長度設定為10,則該字段長度為10個位元組。
然後,就常用的資料型別說一下:
1、int:4位元組,帶符號:-2147483648到2147483647,不帶符號:0到4294967295;
2、float:4位元組,最小非零值:±1.175494351e-38,最大非零值:±3.402823466e+38;
3、double:8位元組,最小非零值:±2.2250738585072014e-38,最大非零值:±1.7976931348623157e+38;
4、date:1000-01-01~9999-12-31,3位元組(mysql3.23版以前是4位元組 ) 0000-00-00
5、time:-838:59:59~838:59:59,3位元組,00:00:00
datetime:1000-01-01 00:00:00~9999-12-31 23:59:59,8位元組,0000-00-00 00:00:00;
6、timestamp:19700101000000~2023年的某個時刻,4位元組,00000000000000;
7、year:year(4),1901至2155。year(2),1970~2069,1位元組,0000;
8、非空char的最大總長度是255位元組;非空varchar的最大總長度是65533位元組;
可空char的最大總長度是254位元組;可空varchar的最大總長度是65532位元組。
原因:非空標記需要佔據乙個位元組,varchar超過255需要用2個位元組標記字段長度,不超過255用1個位元組標記字段長度.
重點,乙個漢字的長度和編碼格式有關:
utf-8 最常見的utf-8編碼方式,數字和字母用乙個位元組, 漢字用3個位元組。
gbk,數字和字母用乙個位元組, 漢字用2個位元組。
參考文獻:
Mysql字段長度
列型別 需要的儲存量 tinyint 1 位元組 allint 2 個位元組 mediumint 3 個位元組 int 4 個位元組 integer 4 個位元組 bigint 8 個位元組 float x 4 如果 x 24 或 8 如果 25 x 53 float 4 個位元組 double 8...
一般mysql字段長度 Mysql字段長度
列型別 需要的儲存量 tinyint 1 位元組smallint 2 個位元組mediumint 3 個位元組int 4 個位元組integer 4 個位元組bigint 8 個位元組float x 4 如果 x 列型別 需要的儲存量 tinyint 1 位元組 smallint 2 個位元組 me...
MySQL字段長度理解
隨筆記知識 在設計資料表時,無論通過 設計還是sql語句設計,都會涉及到字段長度的設計,字段長度即資料型別後括號內的數值,如int 10 varchar 10 字段長度在不同的資料型別下意義是不同的,此處僅以mysql中的int以及varchar型別做說明,其餘請自行學習。int 型別 int型別的...