首页 > 技术文章 > sql 中 ALTER 和 UPDATE 的区别

zjfjava 2017-04-12 12:22 原文

alter 是DDL语句,是修改数据库中对象(表,数据库,视图。。)的语句。

如需在表中添加列,请使用下面的语法:
ALTER TABLE table_name
ADD column_name datatype

如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
ALTER TABLE table_name
DROP COLUMN column_name

要改变表中列的数据类型,请使用下面的语法:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype

update是DML语句,是修改表中数据的语句。

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

 

关于update和alter有一个很形象的总结(from:http://www.cnblogs.com/lamian/p/3972562.html):

一个表有很多字段,一个字段里有很多数据。
一个家有很多房间,一个房间里有很多家具。

update是用来将衣柜改成书架的。
alter是用来将厨房改成厕所的。

把卧室改成厕所:
alter table 你家 change 厨房 厕所 varchar(8);

在你的家里面加一个厕所:
alter table 你家add 厕所 varchar(8);(8表示厕所8平米)

修改厕所大小:
alter table 你家 modify(厕所 varchar(100));

把厕所更名为洗手间:
alter table 你家 rename column 厕所 to 洗手间;

摧毁厕所:
alter table 你家 drop column 厕所;

而把衣柜改成书架:
update 你家 set 衣柜=书架 where ……;(没有where的话,所有的房间里面的衣柜全部变成了书架)。

update 你家 set 衣柜=null where ……;删除衣柜。

 

推荐阅读