關於MySQL中的字段長度

2021-10-07 03:37:06 字數 963 閱讀 7124

我們在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型別的...