一尘不染

常见的MySQL字段及其适当的数据类型

mysql

我正在建立一个很小的MySQL数据库,该数据库存储名字,姓氏,电子邮件和电话号码,并且正在努力寻找每个字段的“完美”数据类型。我知道没有一个完美的答案,但是对于诸如此类的常用字段必须有某种通用约定。例如,我确定未格式化的美国电话号码太大,无法存储为未签名的int,它必须至少是bigint。

因为我确信其他人可能会觉得这很有用,所以我不想将我的问题仅局限于上面提到的领域。

哪些数据类型适用于常见的数据库字段?电话号码,电子邮件和地址等字段?


阅读 249

收藏
2020-05-17

共1个答案

一尘不染

有人会发布一个比这更好的答案,但只是想指出一点,我个人不会将电话号码存储在任何类型的整数字段中,主要是因为:

  1. 您无需对其进行任何算术运算,并且
  2. 某人迟早会尝试(用类似的方法)在他们的区号周围加上方括号。

总的来说,我似乎几乎只使用:

  • INT(11),用于表示一个ID或引用另一个ID的任何内容
  • 时间戳记的DATETIME
  • VARCHAR(255)表示保证小于255个字符的任何字符(页面标题,名称等)
  • TEXT几乎包含所有其他内容。

当然也有例外,但我发现这涵盖了大多数可能发生的情况。

2020-05-17