查詢mysql 小數,使用MySQL的時候bit和tinyint類型用的多嗎?
很高興回答你的問題:
bit和tinyint類型肯定用的多。
從數字類型概述:
1、BIT [(M)]
位字段類型。M表示每個值的位數,從1到64.如果省略M,則缺省值為1。
此數據類型已添加到MyISAM的MySQL 5.0.3中,并已在5.0.5中擴展到MEMORY,InnoDB,BDB和NDBCLUSTER。在5.0.3之前,BIT是TINYINT(1)的同義詞。
是數字類型,存儲小數, 一般對應編輯語言里的小字典或枚舉類型. 節省空間的同時, 避免存入超范圍的值
2、TINYINT [(M)] [UNSIGNED] [ZEROFILL]
一個非常小的整數。有符號范圍是-128到127.無符號范圍是0到255。
多用于存儲狀態. 如bit(1) 直接對應Java語言的布爾類型true和false. 用做狀態保存時一個字段可以保存多至64個狀態。
另外考慮這一點:
1、BOOL,BOOLEAN
這些類型是TINYINT(1)的同義詞。零值被認為是錯誤的。非零值被認為是真實的。
綜上所述,在我的項目中我一般用bit(1)存布爾型,因為它只占一個字節,當然也可以用int,但是會造成資源浪費。
枚舉類推薦用tinyint,當然也可以用enum ,但是移植性不太好。