27

我想重命名SELECT表达式结果中的列。当然,以下不起作用:

SELECT * AS foobar_* FROM `foobar`

由于我是 SQL 的新手,我想我只是缺少一个可以导致答案的概念、工具或关键字。正确方向的提示将不胜感激。谢谢!

更新

我正在寻找一种通用的方法来做到这一点,而 MySQL 特定的技术绝对没问题。

简而言之,我正在编写一个工具,将 MySQL 查询的结果“导出”到 Google 电子表格(通过 Google 数据 API)。有些查询是连接,所以为了使列唯一,我想在所有列名前加上它们各自的表名。

4

3 回答 3

43

您可以一一为列名起别名,如下所示

SELECT col1 as `MyNameForCol1`, col2 as `MyNameForCol2` 
FROM `foobar`

编辑您可以INFORMATION_SCHEMA.COLUMNS像这样直接访问以修改新别名。但是,如何将其放入查询中超出了我的 MySql 技能:(

select CONCAT('Foobar_', COLUMN_NAME)
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_NAME = 'Foobar'
于 2012-08-21T10:53:54.927 回答
11

你必须重命名每一列

SELECT col1 as MyCol1,
       col2 as MyCol2,
 .......
 FROM `foobar`
于 2012-08-21T10:53:40.450 回答
2
select column1 as xyz,
      column2 as pqr,
.....

from TableName;
于 2017-06-07T19:48:25.257 回答