MySQL增删改查(2)

2019-06-15  本文已影响0人  djz0306

上一篇回顾了增删改查中的增,这篇回顾增删改查中的“改”和“删”。先回顾“改”,免得需要删了以后没有足够数据用来复习改。在做改的回顾之前,先往表里面多插入几条数据,同时插入多条数据的时候,每条 values 以英文逗号分隔即可。插入完成后,以下面的表做改的练习。

现有的表内容.jpg

改通常是对某一个或多个值做修改,和增一样,先梳理一下需要确定的元素。就像平时修改 excel 中的元素一样,改需要确定

  1. 改哪张表
  2. 该哪些列
  3. 改哪些行
  4. 改成什么值

确定了这些条件以后修改的语句格式也就出来了,如下所示:

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,所以也没有修改。

删语句比较简单,同样的,梳理一下思路。如果要删除的话,需要有哪些条件

  1. 要删除那张表里面的数据
  2. 要删除哪些行

如果要删除性别没有填写的用户,删除的操作如下:

delete from class where gender = '';

删除以后的表格为:

删除性别没有填写的行.jpg

格式为:delete from 表名 where 表达式;

这里有一点需要区分一下,删除是指删除一行,不是删除某一个值,删除某一个值的操作可以是用上面的改操作来执行,改为空或者其他值。

删除之前请务必确认,尽量做逻辑删除而不是物理删除,即增加 isdelete 列用修改 isdelete 等于0或者1的方式来表示删除或者未删除状态。where表达式不填写则会清空表中数据

这篇复习了增删改查中的改和删。查是用到最多也是最复杂的一项,留到最后复习

上一篇下一篇

猜你喜欢

热点阅读