2012-02-06 6 views
0

mysqlデータベースのメンバテーブルとスコアテーブルに使用するのに最適なデータ型は何ですか?メンバーのテーブルのデータ型ですか?

私はホストされたmysqlデータベースに接続するJavaでゲームを作成しています。私は各フィールドにどのデータ型を使用するのか不明です。

私がしているしている分野:

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 

私は電子メールをVARCHAR(80)の利用効率についてグーグルで形成SOだけでいくつかのことを聞いたことがありますメールなどはこれより長くすることはできませんが、これは本当ですか? IDの名前については

textよりvarchar優れている(名前は数字や記号を含めることはできませんように、なぜちょうどtextを使用していない?)

また、私はINTまたはINTEGERを使用する必要がありますか?

何か助けをいただければ幸いです。私は電子メールなどの電子メールなどのためにVARCHAR(80)を使用しての 効率についてグーグルで形成SOだけでいくつかのことを聞いたことがある

答えて

1

がこれより 長くすることはできません、これは本当ですか?

はい、列を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の数値データ型をサポートしています。これらのタイプは、近似数値データ型(FLOAT、REAL、 、およびDOUBLE PRECISION)と同様に、正確な数値データ型(INTEGER、SMALLINT、DECIMAL、および NUMERIC)を含みます。 キーワードINTは、INTEGERの同義語で、 キーワードDECとFIXEDはDECIMALの同義語です。

+0

ありがとうございました。私は正しい行にあると思っていましたが、完全にはわかりません。 – Mike

関連する問題