如果我希望使用SQL简单地重命名SQL数据库中的列(不更改它的类型或约束,只重命名它的名称),我该怎么做呢?或者这是不可能的?
这是对于任何声称支持SQL的数据库,我只是寻找一个特定于SQL的查询,无论实际的数据库实现如何,它都可以工作。
发布于 2008-10-06 14:57:16
在PostgreSQL (和许多其他关系型数据库管理系统)上,您可以使用常规的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
发布于 2008-10-06 14:45:24
特别针对SQL Server,请使用sp_rename
USE AdventureWorks;
GO
EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
GO
发布于 2015-06-05 06:45:50
在MySQL中,语法为ALTER TABLE ... CHANGE
ALTER TABLE <table_name> CHANGE <column_name> <new_column_name> <data_type> ...
请注意,不能只是重命名并保持类型和约束不变;必须在列的新名称后重新键入数据类型和约束。
https://stackoverflow.com/questions/174582
复制相似问题