SQL

SQL 知识量:22 - 44 - 129

17.2 更新和删除表><

更新表- 17.2.1 -

要更新表的结构,可以使用alter table语句。但是,在改变表之前,需要注意以下几点:

  • 一般情况下,不要在表中已经包含数据后再更新表的结构。

  • 给表添加新列是相对安全的操作,因此,所有的DBMS都允许给现有的表增加列,但是对于新列的数据类型(以及null和default的使用)有所限制。

  • 许多DBMS不允许删除或更改表中的列。

  • 多数DBMS允许重命名表列。

在使用alter table时必须给出如下元素:

  • 在alter table后面给出要更改的表名(表必须存在)。

  • 要做什么更改。

例如:在员工表中添加一列(phone)。

alter table staff add phone char(20);

在员工表中删除列(phone)。

alter table staff drop column phone;

如果要改变一个已经存储数据的表,最好的办法是先创建一个满足要求的新表,然后将旧表的数据导入新表,删除旧表,再将新表的名字变更为旧表的名字。

删除表- 17.2.2 -

删除表的语句非常简单,使用drop table语句即可。

例如:删除表staff。

drop table staff;

需要特别小心的是,删除表时没有确认的机会,也不能撤销删除操作,执行删除语句后,表就永久的删除了。

重命名表- 17.2.3 -

每个DBMS对表的重命名的支持是不同的,例如:MySQL使用rename语句,SQL Server使用sp_rename存储过程,而SQLite则使用alter table语句。所有的重命名操作都要求指定旧表名和新表名。

例如:重命名表staff为friend。

rename table staff to friend;