如果我想简单地使用SQL重命名SQL数据库中的一列(不更改其类型或约束,只更改其名称),我该怎么做?还是不可能?

这适用于任何声称支持SQL的数据库,我只是在寻找一个特定于SQL的查询,无论实际的数据库实现如何,它都能正常工作.

推荐答案

在PostgreSQL(以及许多其他RDBMS)上,您可以使用常规的ALTER TABLE语句:

=> SELECT * FROM Test1;
 id | foo | bar 
----+-----+-----
  2 |   1 |   2

=> ALTER TABLE Test1 RENAME COLUMN foo TO baz;
ALTER TABLE

=> SELECT * FROM Test1;
 id | baz | bar 
----+-----+-----
  2 |   1 |   2

Sql相关问答推荐

每个时间间隔总和的PostgreSQL窗口函数

调用存储过程时SQL服务器TDS协议响应问题

如何解决Error:operator is not unique:unknown—unknown在一个动态SQL查询?""""

PostgreSQL:如果发现多行具有相似列值,则跳过 Select 行

如何通过比较不同表中相同ID S的值来筛选ID为S的列表?

SQL查询每个客户的最新条目

使用`lag()`获取上一个时间戳

你能过滤一个列表只返回多个结果吗?

查询每周数据(周一至周日),避免年度日期重叠

基于是否具有某些数据的关联表覆盖SELECT语句中的列值

MS Access问题查询中的自定义字段

两个月之间的WHERE CASE WHEN-ORA-00905:缺少关键字

通过UPDATE SELECT更新表时出现问题

SQL中相同表内的VLOOKUP等价

如何从postgresql中的项目映射(关联数组)设置值?

按所选的值将记录分组到不同的列中

使用in和and运算符过滤记录的条件

使用 PL/PGSQL 函数 Select 返回多条记录

如何筛选 GROUP BY 结果? HAVING 没有产生预期的结果

奇怪的甲骨文行为