mysql 資料型別及占用位元組數

2021-08-09 13:31:09 字數 1800 閱讀 7339

只有當設計表結構的時候才會思考資料型別的問題,很久不用就會忘記,寫篇部落格算是記錄加複習吧。

以下摘自網路,也沒時間蒐集太多,就列舉幾個常用的。

數字型別

根據位元組數即可算出表示的範圍了 

tinyint                                    1 位元組 

smallint                                 2 個位元組 

mediumint                              3 個位元組 

int                                           4 個位元組 

integer                                   4 個位元組 

bigint                                      8 個位元組 

float(x)                                  4 如果 x < = 24 或 8 如果 25 < = x < = 53 

float                                       4 個位元組 

double                                    8 個位元組 

double precision                  8 個位元組 

real                                         8 個位元組 

decimal(m,d)                          m位元組(d+2 , 如果m < d) 

numeric(m,d)                          m位元組(d+2 , 如果m < d)

日期和時間型別

date                                        3 個位元組 

datetime                                 8 個位元組 

timestamp                               4 個位元組 

time                                         3 個位元組 

year                                         1 位元組

字串型別

char(m)                                        m位元組,1 <= m <= 255 

varchar(m)                                 l+1 位元組, 在此l <= m和1 <= m <= 255 

tinyblob, tinytext                     l+1 位元組, 在此l< 2 ^ 8 

blob, text                                   l+2 位元組, 在此l< 2 ^ 16 

mediumblob, mediumtext         l+3 位元組, 在此l< 2 ^ 24 

longblob, longtext                 l+4 位元組, 在此l< 2 ^ 32 

enum('value1','value2',...)                1 或 2 個位元組, 取決於列舉值的數目(最大值65535) 

set('value1','value2',...)                    1,2,3,4或8個位元組, 取決於集合成員的數量(最多64個成員)

各資料型別的取值範圍及占用位元組數。。

一 常用資料型別對應位元組數 可用如sizeof char sizeof char 等得出 32位編譯器 char 1個位元組 char 即指標變數 4個位元組 32位的定址空間是2 32,即32個bit,也就是4個位元組。同理64位編譯器 short int 2個位元組 int 4個位元組 uns...

占用位元組數求法

字串占用位元組數 ansi char szstr abc 占用位元組數求法 sizeof szstr char psz defgh 占用位元組數求法 strlen psz sizeof char unicode wchar t szwstr l abc 占用位元組數求法 sizeof szwstr ...

資料庫資料型別和占用位元組數對比

1 數字型別 根據位元組數即可算出表示的範圍了 tinyint 1 位元組 smallint 2 個位元組 mediumint 3 個位元組 int 4 個位元組 integer 4 個位元組 bigint 8 個位元組 float x 4 如果 x 24 或 8 如果 25 x 53 float ...