Search code examples
sqldatabaserename

How do I rename a column in a database table using SQL?


If I wish to simply rename a column (not change its type or constraints, just its name) in an SQL database using SQL, how do I do that? Or is it not possible?

This is for any database claiming to support SQL, I'm simply looking for an SQL-specific query that will work regardless of actual database implementation.


Solution

  • On PostgreSQL (and many other RDBMS), you can do it with regular ALTER TABLE statement:

    => 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