MySQL增删改查(2)
2019-06-15 本文已影响0人
djz0306
上一篇回顾了增删改查中的增,这篇回顾增删改查中的“改”和“删”。先回顾“改”,免得需要删了以后没有足够数据用来复习改。在做改的回顾之前,先往表里面多插入几条数据,同时插入多条数据的时候,每条 values 以英文逗号分隔即可。插入完成后,以下面的表做改的练习。
现有的表内容.jpg改
改通常是对某一个或多个值做修改,和增一样,先梳理一下需要确定的元素。就像平时修改 excel 中的元素一样,改需要确定
- 改哪张表
- 该哪些列
- 改哪些行
- 改成什么值
确定了这些条件以后修改的语句格式也就出来了,如下所示:
update class set sname='邢育森' where id = 1;
格式为:update 表名 set 列=值 where 表达式; 改完以后的结果如下
修改id=1的名字.jpg其中 where 表达式只要是“真”就会执行
例如要修改工资高于80000,且补助超过777的人,把他们的补助降低到666。那么语句为:
update class set subsidy = 666 where salary > 80000 and subsidy >= 777;
改完以后的结果为:
修改多行.jpg对照上面的两张表可以看到邢育森,佟湘玉,白展堂,郭芙蓉的补助都被改成了666,而吕轻侯的工资刚好等于80000,所以他的补助没有被改,而李四的工资是大于80000了,不过原来的补助小于777,所以也没有修改。
删
删语句比较简单,同样的,梳理一下思路。如果要删除的话,需要有哪些条件
- 要删除那张表里面的数据
- 要删除哪些行
如果要删除性别没有填写的用户,删除的操作如下:
delete from class where gender = '';
删除以后的表格为:
删除性别没有填写的行.jpg格式为:delete from 表名 where 表达式;
这里有一点需要区分一下,删除是指删除一行,不是删除某一个值,删除某一个值的操作可以是用上面的改操作来执行,改为空或者其他值。
删除之前请务必确认,尽量做逻辑删除而不是物理删除,即增加 isdelete 列用修改 isdelete 等于0或者1的方式来表示删除或者未删除状态。where表达式不填写则会清空表中数据
这篇复习了增删改查中的改和删。查是用到最多也是最复杂的一项,留到最后复习