MySQL中的列标题(除了列名)

时间:2014-03-09 16:31:55

标签: mysql sql phpmyadmin caption user-friendly

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

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

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

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

我更喜欢使用几乎可以在任何SQL数据库中实现的方法。因此,不那么专有,不那么笨拙,更“标准的SQL”(原文如此)的方法越好。

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

我目前正在使用phpMyAdmin(通过XAMPP),但之前我使用的是MySQL Workbench。 我无法在其中任何一个站点或Stack Overflow上找到有关此内容的任何信息。

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

COLUMN_NAME
COLUMN_COMMENT

MS Access: setting table column Caption or Description in DDL?

MySQL query to get column names?

MySQL 5.7 Reference Manual :: 19 INFORMATION_SCHEMA Tables

Commenting your MySQL database... (yada yada)

提前致谢。


@Jim Garrison 感谢回复。我没有为这个答案投票,因为它没有做很多Access的工作。 不是你的错 - 你只是信使!我不确定应该如何感谢某人在Stack Overflow中的努力,因为评论区域表示不会将其用于此目的。无论如何都要为这些信息干杯。

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

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

其结构将是:

id | table_name | column_name | friendly_alias | description | input_mask

不幸的是,除非有一种方法可以自动使用表名和列名填充它,并自动更新这些值(如果它们被重命名,插入或删除),这将是一项繁琐的工作。

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

它可能是一个单独的表,但与内置信息架构表有1:1的关系吗?

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

2 个答案:

答案 0 :(得分:2)

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

select column_1 as `Date of Birth`,
       column_2 as `Home Address`,
       etc.

答案 1 :(得分:0)

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

然而,我认为你已经过度复杂了。这与表单中的Access不同,并且在创建数据库/表时,标签不会自动创建为MySQL的一部分。然后,您必须编写代码(以您希望的任何编程语言)与该数据库进行交互。当你编写代码,特别是标准的SQL时,你不想引用像“买家的地址”这样的表名,你需要“地址”,因为,这就是编程的工作原理而我们的程序员不会我想要一次又一次地输入相同的长变量名。许多系统都在空间上窒息。因此,在您的应用程序中,您可以向用户显示“请使用其所在国家/地区的标准地址方案在此处输入买方的永久送货地址,以便邮政服务以最小的麻烦接受”,但您无法“ d使用它作为变量名。我希望这是有道理的,而不是侮辱性的;我只是想证明你的表名并不真正对应于用户看到的任何内容。访问有点不同,因为程序试图让您轻松创建数据库结构,然后快速编辑用户将用于插入或修改数据的表单。因此,每当引用该字段时,能够提供它所使用的注释会更有意义。

无论如何,你问过大多数标准SQL,并且注释引用表的概念是非标准的,所以为了能够在任何数据库中实现它,我建议使用表名在你的查询中。

希望这有点帮助。