MySQL里面update和alter的区别(转)

昨天在学习MySQL入门教程时,就有些疑问,alter跟update都有修改更新的功能,但是两者之间的区别是什么.

今天查了一下,简单地来说alter是更改表结构的,而update是更改表数据的.

★转载下面这篇博客,写得非常通俗易懂

http://www.cnblogs.com/lamian/p/3972562.html 

(以下内容全部为转载)

关于update和alter:

百度知道上关于update和alter有一个很形象的总结:

一个表有很多字段,一个字段里有很多数据。

一个家有很多房间,一个房间里有很多家具。

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 ……;删除衣柜。

 

 

delete和drop:

delete是删除衣柜或者删除书架的;

drop是删除房间的;

删除一个衣柜:

delete from 你家where ID=衣柜;

即使删除完了数据,表结构还是有。

删除一个卫生间:

alter table 你家 drop column 厕所;

删除一个数据库:

drop database 你家;

 

  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQL的ON UPDATE用于在更新表的记录时,指定一个动作或值。它可以与ALTER TABLE语句一起使用来修改表的结构。 以下是ON UPDATE的一些用法示例: 1. 使用ON UPDATE CURRENT_TIMESTAMP来更新时间戳列: ```sql ALTER TABLE table_name MODIFY column_name TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; ``` 这将在更新记录时自动更新时间戳列的值。 2. 使用ON UPDATE CASCADE来更新外键关联的表: ```sql ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table_name(referenced_column_name) ON UPDATE CASCADE; ``` 这将在更新主表的记录时,自动更新外键关联的从表的记录。 3. 使用ON UPDATE SET NULL来将外键列设置为NULL: ```sql ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table_name(referenced_column_name) ON UPDATE SET NULL; ``` 这将在更新主表的记录时,将外键列设置为NULL。 4. 使用ON UPDATE SET DEFAULT来将外键列设置为默认值: ```sql ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES referenced_table_name(referenced_column_name) ON UPDATE SET DEFAULT; ``` 这将在更新主表的记录时,将外键列设置为默认值。 总之,ON UPDATEMySQL用于在更新表的记录时指定动作或值的关键字。它可以用于更新时间戳列、更新外键关联的表、将外键列设置为NULL或默认值等操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值