mysql中的tinyint自動補0

2021-08-15 10:15:23 字數 1153 閱讀 6982

mysql 資料庫中要加入字段,並設定預設值為零,資料庫設計原則所佔的儲存空間越少越好,夠用就行,基於節省儲存空間的考慮所以用了tinyint型別,

int型別佔4個位元組,tinyint佔1個位元組,於是設計了tinyint的字段型別,在長度的填寫上寫了2,然後設定了填充零的勾選,

於是在dll裡面channel` tinyint(2) unsigned zerofill default 『00』

問題來了,2指的是儲存寬度,不表示儲存長度。如果列制定了zerofill 就會用0填充顯示,例如tinyint(2)指定後2就會顯示為02,自動左邊補零。

tinyint有固定範圍值,帶符號的範圍是-128到127。無符號的範圍是0到255。

琢磨好上面兩句話,發現設定tinyint(2)對我來說是畫蛇添足了,tinyint已經滿足我的使用。剛開始設定的時候把儲存寬度和儲存長度概念給弄混淆了。

而且在tinyint的使用中,mysql中沒有布林型別,但是如果你定義了布林型別,它會自動給你轉換成tinyint。

儲存boolean值時用1代表true,0代表false,boolean在mysql裡的型別為tinyint(1),

mysql裡有四個常量:true,false,true,false,它們分別代表1,0,1,0。

也就是說如果需要建立一張大量儲存0和1的字段的表,可以充分考慮tinyint了。

科普記錄一下:

型別 大小 範圍(有符號) 範圍(無符號) 用途

tinyint 1位元組 (-128,127) (0,255) 小整數值

smallint 2 位元組 (-32 768,32 767) (0,65 535) 大整數值

mediumint 3 位元組 (-8 388 608,8 388 607) (0,16 777 215) 大整數值

int或integer 4 位元組 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整數值

bigint 8 位元組 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 極大整數值

mysql中tinyint相關的知識

tinyint 1 boolean 寫查詢語句的時候要 字段 1 as name 轉一下,出來的就是1,0,取的時候用biginteger獲取 tinyint 4 3位的int mysql中tinyint smallint int和bigint型別的用法區別 tinyint占用1位元組的儲存空間,即...

MYSQL中TINYINT的取值範圍

在mysql的資料型別中,tinyint的取值範圍是 帶符號的範圍是 128到127。無符號的範圍是0到255 見官方 mysql 5.1參考手冊 tinyint占用1位元組的儲存空間,即8位 bit 那麼tinyint的取值範圍怎麼來的呢?我們先看無符號的情況。無符號的最小值即全部8位 bit 都...

mysql中TINYINT的取值範圍

在mysql的資料型別中,tinyint的取值範圍是 帶符號的範圍是 128到127。無符號的範圍是0到255 見官方 mysql 5.1參考手冊 tinyint占用1位元組的儲存空間,即8位 bit 那麼tinyint的取值範圍怎麼來的呢?我們先看無符號的情況。無符號的最小值即全部8位 bit 都...