目前手機號碼都是11位的數(shù)字,可以采用INT(11)類型進行存儲,對數(shù)據(jù)的讀寫效率都比采用Varchar(11)更佳。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站建設(shè)、色尼網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、色尼網(wǎng)絡(luò)營銷、色尼企業(yè)策劃、色尼品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供色尼建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
姓名電話地址mysql字段設(shè)置技巧:
1、選項是可列舉的,設(shè)置成enum類型可以提高數(shù)據(jù)庫性能。
2、手機號,設(shè)置成varchar或char類型,長度11位。
3、地址,設(shè)置成int型,即保存成時間戳,長度11。
你的電話號碼如果要含()/-這些字符的話就要用varchar 建議用 varchar 因為方便存放最開始的數(shù)字為0的號碼
使用char(11),類型,因為手機號是固定的11位,所以可以直接使用char(11)
char用于C或C++中定義字符型變量,只占一個字節(jié),取值范圍為 -128 ~ +127(-2^7~2^7-1)。C語言中如int、long、short等不指定signed或unsigned時都默認(rèn)為signed,但char在標(biāo)準(zhǔn)中不指定為signed或unsigned,編譯器可以編譯為帶符號的,也可以編譯為不帶符號的。
擴展資料:
char類型占1字節(jié),就是8位,所能存儲的正整數(shù)是 0111 1111,即127。如果將 int 型的整數(shù)i= 128 賦予ch,會產(chǎn)生溢出。因128是 int 型,占 4 字節(jié),二進制代碼為 0000 0000 0000 0000 0000 0000 1000 0000.。若將它賦給一個只有8位的char 類型變量,只能將低8位的1000 0000 放進去,其他的都會被刪掉。
整數(shù)在計算機中都是以補碼的形式存儲的,此時1000 0000 在計算機的眼里,是一個補碼,最左邊是 1 表示負(fù)數(shù),補碼1000 0000 所對應(yīng)的十進制是 -128,所以最后輸出的就是 -128。因此溢出會使得最大正整數(shù)變成最小負(fù)整數(shù)。
當(dāng)然是bingint占空間小而且速度快了, 不過我一般用varchar(11) 呵呵,這樣節(jié)省的空間我覺得可以忽略。 如果varchar 和 char 選擇 那還是用 char吧,會比varchar 快 嘿嘿
電話號碼是一組數(shù)字,因為它不用作計算,一般不必作為int數(shù)據(jù),只須存為varchar字符串類型就可以了。為進一步縮減空間最好指定最大長度,如:varchar(13/26)。 當(dāng)然,在數(shù)據(jù)存入之前必須在前端檢查是否為數(shù)字類型;而從數(shù)據(jù)庫讀取的時候選字符類型,如sprintf("my phone is %s",$num)。