SQL ALTER TABLE 更改表结构

时间:2018-11-15 18:01:18  来源:igfitidea点击:

在本教程中,我们将学习如何使用SQL ALTER TABLE语句修改数据库的表结构。

有时需要更改现有表的结构,以满足新的业务需求,例如添加新列、删除现有列等。SQL ALTER TABLE语句允许更改现有表的结构。使用SQL ALTER TABLE语句,可以对表执行以下操作:

  • 重命名表。
  • 添加、修改和删除列
  • 添加表约束

SQL 更改表–重命名表

要重命名一个表,可以使用以下语法:

ALTER TABLE table_name
RENAME TO new_table_name

例如,将projects表更改为proj

ALTER TABLE projects
RENAME TO proj

SQL 更改表–添加新列(字段)

要向表中添加新列,可以使用以下语法:

ALTER TABLE table_name
ADD new_column datatype(size)

例如,向proj表添加一个名为status的新列

ALTER TABLE proj
ADD status VARCHAR(25)

SQL 更改表–修改列(字段)

我们可以使用SQL ALTER TABLE语句来改变列的属性,如下所示:

ALTER TABLE table_name
MODIFY column_name datatype(size)

要修改多个列,可以使用以下语法:

ALTER TABLE table_name
MODIFY ( column_name1 datatype(size),
         column_name2 datatype(size),
         column_name3 datatype(size),
         ...)

例如,要更改proj表中status列的数据类型和默认值,可以使用以下查询:

ALTER TABLE proj
MODIFY status SMALLINT NOT NULL

SQL 更改表–删除列(字段)

要删除表中的现有列,需要指定要删除的表和列名。

ALTER TABLE table_name
DROP COLUMN existing_column

例如,要删除proj表的status列:

ALTER TABLE proj
DROP COLUMN status

当您删除一个列时,该列中的所有数据都将被删除。如果删除的是键值列,不仅删除该列中的数据,而且还会删除重复的行。