重命名SQL SELECT语句中的列

时间:2012-08-21 10:51:48

标签: mysql sql

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

SELECT * AS foobar_* FROM `foobar`

由于我是SQL的新手,我认为我只是错过了一个可以导致答案的概念,工具或关键字。我们将赞赏正确方向的暗示。谢谢!

更新

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

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

3 个答案:

答案 0 :(得分:32)

您可以逐个别名列名称,如此

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'

答案 1 :(得分:8)

您必须重命名每列

SELECT col1 as MyCol1,
       col2 as MyCol2,
 .......
 FROM `foobar`

答案 2 :(得分:2)

select column1 as xyz,
      column2 as pqr,
.....

from TableName;