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 都...