admin

数据库级别的别名列名称[MySQL]

sql

“别名”可能是错误的单词,因为在查询中将列/表名作为其他名称引用的上下文中使用了该名称。

我感兴趣的是,是否可以在数据库中为列指定两个名称。如果我要打印这样的表,它将看起来像这样:

mysql> SELECT * FROM User;
+--------------------------+-----------------+
| id | username | uname    | password | pswd |
+----+---------------------+-----------------+
|  0 | bob_jones@gmail.com |    some_pw_hash | 
|  1 | sue_smith@gmail.com |    some_pw_hash |
+--------------------------------------------+

在这种情况下,usernameuname在查询语句中是同义的,就像password和一样pswd

因此,以下语句将具有相同的输出:

mysql> SELECT id, username FROM User;
...
mysql> SELECT id, uname FROM User;
...

我想避免做类似的事情

mysql> SELECT id, username AS uname FROM User;

那么,是否存在这样的功能?

干杯,尼尔


阅读 122

收藏
2021-06-07

共1个答案

admin

不,这是不可能的。为此,您必须添加一个新的实际第二列,并使用触发器使它们保持同步,这很愚蠢。

只需正确编写SQL即可使用正确的列名。

2021-06-07