失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 您应该如何在数据库(Java MySQL和开发)中存储格式化的字段?

您应该如何在数据库(Java MySQL和开发)中存储格式化的字段?

时间:2022-11-17 07:17:13

相关推荐

您应该如何在数据库(Java MySQL和开发)中存储格式化的字段?

有一种古老的数据库格言说:“原始存储,漂亮地显示。” 关于存储,这意味着数据应该以最佳格式存储,以便在数据库中使用,即搜索,排序,比较等。为说明起见,让我们以存储电话号码的字段为例。在北美,这里的电话号码可以用许多不同的格式表示,包括“(800)555-1212”,“ 800-555-1212”,“ 800 555-1212”或“ 8005551212”。在我研究过的应用程序中,我们将在存储到数据库之前在应用程序级别去除特殊字符。然后,我们将电话号码格式化为正式格式以进行显示。

在这种情况下,格式化电话号码的处理器开销是微不足道的,生产所需的时间不到一微秒。

至于使用哪种数据类型,有人认为电话号码适合使用数字类型。但是,我认为char或varchar会更好,因为非数字字符可以在电话号码中有效。一个典型的例子是在国际号码开头以+代替00。

例如,这是我的Navicat DB客户端中地址表的设计 包含电话专栏:

您会看到它是一个长度为20的varchar。它应该足够大以容纳您可能想要保留的任何电话号码。此外,如果您需要增加列的容量,则可以使用ALTER TABLE语句(或仅通过更改Navicat中的Length)来轻松地做到这一点。

以下是地址表的几行,这些行的电话号码长度不同:

对于包含格式化用户输入的较长字段(例如描述),我会将它们存储在包含所有特殊字符的varchar或text列中,因为无法重新格式化它们以供以后显示。

这是一张表的一条记录,该表在Navicat的“表单视图”中包含一个描述字段:

该描述以文本类型存储,因此它可以包含用户希望输入的尽可能多的信息。

这是“网格”视图中的相同记录。要查看该视图中的所有数据,我们可以为数据下拉菜单选择文本选项以查看所有格式:

希望对您有所帮助。

如果觉得《您应该如何在数据库(Java MySQL和开发)中存储格式化的字段?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。