一尘不染

如何使用SQL重命名数据库表中的列?

sql

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

这适用于任何声称支持SQL的数据库,我只是在寻找一个特定于SQL的查询,而无论实际的数据库实现如何,该查询都将起作用。


阅读 220

收藏
2021-05-05

共1个答案

一尘不染

在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
2021-05-05