1. ホーム
  2. mysql

[解決済み] MySQLの一般的なフィールドとその適切なデータ型

2022-09-05 09:56:56

質問

姓、名、電子メール、および電話番号を保存する非常に小さな MySQL データベースをセットアップしていますが、各フィールドの「完璧な」データ型を見つけるのに苦労しています。完璧な答えというものがないことは分かっていますが、これらのフィールドのような一般的に使用されるフィールドには、ある種の共通の慣習があるはずです。たとえば、フォーマットされていない米国の電話番号は、符号なしintとして格納するには大きすぎるため、少なくともbigintでなければならないと判断しました。

おそらく他の人々もこれを役に立つと思うので、私の質問を私が上で述べたフィールドだけに限定したくありません。

どのようなデータ型が一般的なデータベースフィールドに適していますか?電話番号、電子メール、住所のようなフィールドですか?

どのように解決するのですか?

誰かがこれよりもずっと良い答えを投稿するでしょう。しかし、個人的には、どんな種類の整数フィールドにも電話番号を保存しない、という点を強調したかっただけです。

  1. このフィールドで何らかの演算を行う必要がないこと、および
  2. 遅かれ早かれ誰かが市外局番の周りに括弧を付けようとする(ようなことをする)だろう。

しかし一般的には、私はほとんど独占的に使っているようです。

  • INT(11) は、ID または別の ID を参照するものです。
  • タイムスタンプのためのDATETIME
  • VARCHAR(255) 255文字以下であることが保証されているもの(ページタイトル、名前など)に使用します。
  • その他ほとんど全てにTEXT。

もちろん例外はありますが、これでほとんどの事態をカバーできると思います。