mysql中alter与update,MySQL中update和alter使用区别

最近在参与IDO老徐的MySQL21天打卡系列,今天在回顾的时候看到一个作业题目是更新表里某个字段值,突然不知道该用update还是alter了,脑子里一下分不清两者的区别了,于是找资料学习了下,现在算是搞清楚了。分享如下:

SQL语句中涉及到修改的命令有alter、update,但是两者之间具体有什么区别,分别使用在什么场景呢?

alter:用来修改表的数据结构(包括表名和字段名以及字段的增、删、改)

例如:

修改表名:> alter table istester rename to idoxu;

----把表名由istester改成idoxu,其中to可带可不带

修改字段名:> alter table istester change c_name u_name varchar(50);

----把字段名由c_name改成u_name,如果字段属性不变,change  源字段名  目标字段名  即可。

增加字段:> alter table idoxu6addsex int not null default 1;

----往表idoxu6中新增一个性别字段sex,需要至少指定一个字段属性,不指定属性添加不成功

删除字段:> alter table istesterdropcolumn hobby;

----删除表istester中的hobby字段,其中column可带可不带

修改字段类型:> alter table idoxu6modifyc_name varchar(20) not null default 'my';

或者> alter table idoxu6changec_name c_name varchar(20) not null default 'my';

----修改表idoxu6中字段c_name的属性为字符型,长度20,非空,默认值是my

----使用change的话需要写两次字段名,即:change  源字段名  源字段名

update:用来修改表中字段的值

例如:

字段name原来的值是张三,现在要改成李四:

> update idoxu set name='李四' where name='张三';

----如果没有where条件,会把表中所有name都改成“李四”

删除字段name的值:

> update idoxu set name=null where name='张三';

另外还可能涉及到性能、查询效率等问题,这里就不深入了,先掌握基础的应用。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值