此文章轉載的,因為之前我也沒真正搞懂列類型的長度問題,所以查了一下。感謝原作者。原文地址:http://www.cnblogs.com/echo-something/archive/2012/08/26/mysql_int.html
原文
我的朋友海濱問我mysql在建表的時候int類型后的長度代表什么? 是該列允許存儲值的最大寬度嗎? 為什么我設置成int(1), 也一樣能存10,100,1000呢.
當時我雖然知道int(1),這個長度1并不代表允許存儲的寬度,但卻沒有一個合理的解釋. 或者說對這個長度也沒有真正的研究過到底代表什么, 平時都用int(11), 也不知道為什么要11位. 所以我在網上查閱了一些資料, 也仔細的看了mysql手冊關于int data type的說法.…………
字段類型總結
- 雖然上面列出了很多字段類型,但最常用也就是 varchar(255),char(255),text,tinyint(4),smallint(6),mediumint,int(11)幾種。
- 復合類型我們一般用tinyint,更快的時間更省的空間以及更容易擴展
- 關于手機號,推薦用char(11),char(11)在查詢上更有效率,因為手機號是一個活躍字段參與邏輯會很多。
一些常用字段舉例
姓名:char(20)
價格:DECIMAL(7, 3)
產品序列號:SMALLINT(5) unsigned
文章內容: TEXT
MD5: CHAR(32)
ip: char(15)
time: int(10)
email char(32)
原文地址:http://www.cnblogs.com/echo-something/archive/2012/08/26/mysql_int.html
http://www.cnblogs.com/szw/archive/2011/03/16/1986410.html
https://www.kancloud.cn/thinkphp/mysql-design-optimalize/39325