1

在 MS Access (2003) 中,一列可以同时具有“名称”(显然是必需的)和“标题”(可选)。它还可以有一个“描述”(可选)和一个“输入掩码”。

主要优点是列名可以是代码友好的(例如带有下划线的小写),而标题可以是用户友好的(例如标题大小写/正确大小写、空格或完全不同的单词)。

如果一列有标题,则默认情况下在表单中使用它。

[Q1] 这可以在 MySQL 中实现吗?我对字幕最感兴趣,但也欢迎建议重新列链接描述和输入掩码。我还没有搜索重新输入掩码。

我更喜欢使用几乎可以在任何 SQL 数据库中实现的方法。因此,这种方法的专有性、hacky 和“标准 SQL”(原文如此)越少越好。

我注意到,在 MySQL 中,一列可以有一个“评论”。我可以使用这些,并在需要时使用代码来提取它们。但是(1)这很不方便而且很麻烦,(2)在我看来,评论应该用于其他目的(例如给自己或其他开发人员的注释,或建议重新输入数据)。

我目前正在使用 phpMyAdmin(通过 XAMPP),但我之前使用过 MySQL Workbench。我在这些网站或 Stack Overflow 上都找不到有关此的任何信息。

这些关键字和链接与主题相关,但不回答问题:

COLUMN_NAME
COLUMN_COMMENT

MS Access:在 DDL 中设置表格列标题或说明?

MySQL查询以获取列名?

MySQL 5.7 参考手册 :: 19 INFORMATION_SCHEMA 表

评论您的 MySQL 数据库... (yada yada)

提前致谢。


@Jim Garrison 感谢您的回复。我没有投票给那个答案,因为它没有做很多 Access 所做的事情。但这不是你的错——你只是信使!我不确定应该如何感谢某人在 Stack Overflow 中所做的努力,因为评论区说不要将其用于此目的。无论如何,为信息干杯。

我有一个想法,虽然它也远非理想。

我可以创建一个单独的表来保存有关数据库中所有其他表的补充元数据(标题/别名、描述、输入掩码等)。

它的结构是:

id | table_name | column_name | friendly_alias | description | input_mask

不幸的是,维护起来会很麻烦,除非有一种方法可以用表名和列名自动填充它,并在它们被重命名、插入或删除时自动更新这些值。

但是,如果它是内置信息模式表的扩展,那确实会好得多,并且这些可选字段允许使用空值。

它可以是一个单独的表,但与内置信息模式表具有 1:1 的关系吗?

请记住,顺便说一句,我是一个业余爱好者!

4

2 回答 2

2

如果没有元数据查询,没有任何内置功能可以轻松使用。但是,您可以使用列别名和名称引用来获取您想要的任何名称,如

select column_1 as `Date of Birth`,
       column_2 as `Home Address`,
       etc.
于 2014-03-09T16:35:45.757 回答
0

正如您所指出的,MySQL 确实允许注释,但您不能直接将它们用于查询。phpMyAdmin 确实显示了它们,所以如果您使用的是 phpMyAdmin,那是最好的解决方案/解决方法。

但是,我认为您将事情复杂化了。这与 Access 不同,因为当您创建数据库/表时,表单和标签不会自动创建为 MySQL 的一部分。然后,您必须编写代码(使用您希望使用的任何编程语言)与该数据库进行交互。当您编写代码时,尤其是标准 SQL,您不想引用“买家地址”之类的表名,而是需要“地址”,因为,这就是编程的工作方式,而我们程序员不会想要一次又一次地输入相同的长变量名。许多系统在空间上窒息。因此,在您的应用程序中,您可以向用户显示“请在此处使用买家所在国家/地区的标准地址方案输入买家的永久送货地址,以便它” Access 有点不同,因为该程序试图让您轻松创建数据库结构,然后快速编辑用户将用于插入或修改数据的表单。因此,能够提供在引用该字段时使用的注释更有意义。Access 有点不同,因为该程序试图让您轻松创建数据库结构,然后快速编辑用户将用于插入或修改数据的表单。因此,能够提供在引用该字段时使用的注释更有意义。

无论如何,您询问要保持大多数标准 SQL,并且通过注释引用表的概念是非标准的,因此为了能够在任何数据库中实现它,我建议在您的查询中使用表名.

希望这个对你有帮助。

于 2014-03-18T15:47:29.717 回答