Mysql 数据库默认值选 ‘‘“ 、Null和Empty String的区别
Mysql 數據庫默認值選 ‘’" 、Null和Empty String的區別
1:空值(’’)是不占用空間的
2: MySQL中的NULL其實是占用空間的。官方文檔說明:
“NULL columns require additional space in the row to record whether their values are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byte.”
所以 mysql設計表時 建議不要用default NULL
string類型 建議用 ‘’" 或者 Empty String
int類型 建議默認給 0
另外一點,從不同的項目開發去分析這個問題:
以前單純做web網頁端,對這個默認值設定問題選用null 還是empty string。但是后來在另外一個團隊開發app的時候,這個null和empty string的問題就尤為突出,因為我是用php做接口開發,如果一旦出現null的數據類型,沒有處理直接返回去前端,那么無論是ios還是Android端,如果沒有處理好這個空的判斷,要么就直接輸出null,要么程序直接報錯。所有建議設計數據庫的時候默認值盡量少用null.
兩者的查詢方式不一樣:NULL值查詢使用is null/is not null查詢,而empty string可以使用=或者!=、<、>等算術運算符,這點算是最主要的區別了。
對于myisam引擎,null值占用額外的存儲空間(1bit),空字符串則完全不占用空間。
總結
以上是生活随笔為你收集整理的Mysql 数据库默认值选 ‘‘“ 、Null和Empty String的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python精要(72)-VMDK操作(
- 下一篇: python精要(73)-turtle(