2012-02-06 69 views
0

什麼是最好的數據類型MySQL數據庫上使用一個成員表和成績表?數據類型爲成員的餐桌?

我創建在Java遊戲,連接到託管的MySQL數據庫。我不確定每個字段使用哪些數據類型。

的領域我已經有:

TABLE tMembers

ID INT(11) 
firstName VARCHAR(255) 
lastName VARCHAR(255) 
email VARCHAR(255) 
username VARCHAR(255) 
password VARCHAR(255) 

TABLE tScores

ID INT(11) 
SCORE INT(11) 
DATE DATETIME 

我已經聽到這麼幾個事情,只是形成google搜索關於使用VARCHAR(80)的電子郵件的效率等電子郵件不能超過這個,這是真的嗎?

對於名稱,是varchartext好(作爲一個名稱不能包含數字或符號,爲什麼不使用text?)

此外,對於ID,我應該用INTINTEGER

任何幫助超過讚賞。

回答

1

我已經聽到SO的幾件事情,只是形成google搜索關於使用VARCHAR(80),電子郵件等的郵件不能 比這更長的 效率,這是真的嗎?

是的,如果您將列定義爲varchar(x),則要保存到該列的值的長度應小於x。

對於名稱,爲varchar比文字更好的(作爲一個名稱不能包含 數字或符號,爲什麼不使用的文字?)

VARCHAR包含(最大長度),比文本字符少,取決於在你使用的mysql版本上。例如5.03+ varchar可以包含65535個字符。但爲了您的要求,「名稱」的varchar類型可以。

此外,對於ID,我應該使用INT還是INTEGER?

據我瞭解,mysql中的INT和INTEGER是一樣的。檢查 http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html 那裏你可以看到:

MySQL支持所有標準SQL數值數據類型。這些類型的 包括確切的數值數據類型(整數,SMALLINT,十進制和 NUMERIC),以及近似數值數據類型(FLOAT,REAL 和雙精度)。 關鍵字INT是INTEGER的代名詞,並 關鍵字DEC和固定是DECIMAL的同義詞。

+0

謝謝,我以爲我是在正確的路線,但不完全確定。 – Mike 2012-02-06 12:39:01