如何从现有表中删除列?
我有一个Fname和Lname的table MEN
我需要删除Lname
怎么做呢?
如何从现有表中删除列?
我有一个Fname和Lname的table MEN
我需要删除Lname
怎么做呢?
当前回答
这也可以通过SSMS GUI来完成。这个方法的好处是它会警告你是否该列上有任何关系,也可以自动删除这些关系。
将表格放入设计视图(右键单击表格),如下所示:
右键单击表的Design视图中的列,然后单击“Delete” 列”
如前所述,如果有任何关系也需要删除,此时它将询问您是否也想删除这些关系。您可能需要这样做来删除列。
其他回答
ALTER TABLE MEN DROP COLUMN Lname
这也可以通过SSMS GUI来完成。这个方法的好处是它会警告你是否该列上有任何关系,也可以自动删除这些关系。
将表格放入设计视图(右键单击表格),如下所示:
右键单击表的Design视图中的列,然后单击“Delete” 列”
如前所述,如果有任何关系也需要删除,此时它将询问您是否也想删除这些关系。您可能需要这样做来删除列。
在现有表中添加列:
ALTER TABLE table_name
ADD
column_name DATATYPE NULL
删除现有表中的列。
ALTER TABLE table_name
DROP COLUMN column_name
在SQL Server 2016中,您可以使用新的DIE语句。
ALTER TABLE Table_name DROP COLUMN IF EXISTS Column_name
上面的查询是可重新运行的,它只在表中存在该列时才删除该列,否则它不会抛出错误。
您可以只运行上述DDL语句,而不是使用大的IF包装器在删除列之前检查列的存在
下面是正确答案:
ALTER TABLE MEN DROP COLUMN Lname
但是…如果列上存在约束,则必须先删除约束,然后才能删除列。为了删除一个约束,运行:
ALTER TABLE MEN DROP CONSTRAINT {constraint_name_on_column_Lname}