当前位置: 首页 > 面试题库 >

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

鲁华茂
2023-03-14
问题内容

如果我想使用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


 类似资料:
  • 问题内容: 我可以使用此查询找出重复的数据 我能够获取重复数据。我只需要知道如何使用名称将重复数据重命名为 new 问题答案: 假设您在表上有某种主键,例如自动增量ID,则可以执行以下操作。 为了说明,它将查找重复的任何内容,为该集中的所有内容获取最大ID,并在其末尾附加“副本1”。如果您有3次或多次使用某些名称,则可能仍会留下一些重复项。只需再次运行它,这次使用“副本2”而不是“副本1”。继续重

  • 主要内容:语法,示例SQL 允许对表进行重命名。有时候我们为表使用了无意义的名称,因此需要更正。 语法 SQL 支持两种重命名表的方式: ALTER TABLE old_table_name  RENAME TO new_table_name;  RENAME old_table _name TO new_table_name; old_table_name 为旧的表名,new_table_name 为新的表名。 示

  • 问题内容: 我想验证数据库中是否存在表,如果不存在,则要创建它。如何获取当前数据库中所有表的列表? 我可以使用SELECT来获得数据库列表,如下所示: 剩下的就是创建表(如果不存在)。 我还尝试使用以下数据库同时创建表: 但这在“使用”行上给了我错误,说“ db”不存在。这次,我将尝试使用2个不同的命令来执行此操作。 问题答案: 这应该为您提供数据库中所有表的列表 因此,您可以像使用数据库检查一样

  • 问题内容: 我已经使用VS2008中的内置设计器设计了SQL CE表。我为一对夫妇选择了错误的名字。我现在完全陷入尝试寻找重命名它们的方法。 我拒绝相信这样的功能本来可以被“遗忘”的。如何使用VS2008设计器或免费的独立应用程序重命名现有表? 问题答案: 不确定通过VS2008进行此操作,但可以使用:更改当前数据库中用户表的名称。当前,SQL Server Compact 3.5中的sp_ren

  • 问题内容: 我需要重命名数据库中所有表中的列。因此必须在所有表中将“ OldColumn”列重命名为“ NewColumn” 我可以使用此查询获取具有此列的表的列表: 但是,如何在所有表中重命名它却尽可能简单,而不必编写游标呢? 问题答案: 当然,您不需要为此使用光标。您可以使用sys.columns和sys.objects生成动态sql。然后简单地执行它。一旦您对动态sql感到满意,就可以随意取

  • 问题内容: 这个问题已经在这里有了答案 : 如何快速重命名MySQL数据库(更改架构名称)? (47个答案) 5年前关闭。 我创建了一个名为的数据库。现在,我需要将数据库名称更改为。但是,它在MySQL工作台中被禁用。我可以在Linux服务器本身上执行此操作吗? 问题答案: 我认为您无法做到这一点。我认为您需要转储该数据库,创建新命名的数据库,然后导入转储。 如果这是一个实时系统,则需要将其删除。