日记大全

日记大全 > 句子大全

IT大叔详谈mysql中update语句和delete语句及应用

句子大全 2023-10-14 04:57:01
相关推荐

学习是一件枯燥的事,你要牺牲自己的业余时间,你要忍受孤独,坚持下来了你就胜利了,学习是一个过程,只要循序渐进,每天进步一点点,只有这样你才能提高进而成功。今天老韩来讲一讲mysql中的update语句和delete语句。

一、update(更新)语句;

update语句属于DML语句,如果要更新数据库中的数据时可以使用它。update根据更新范围老韩分为两种(老韩自己分的类,方便讲解)。

首先查看我们的student表数据;

1、精准更新;

为什么叫精准更新呢,因为语句中有where条件,会精准的对符合要求的行进行更新,标准写法:update 表名 set 运算表达式 where 列名=值;

从上面图片可以看到有老韩信息,但是老韩的信息有错误,老韩的班级信息和password错误了,老韩转到二班了,密码也重置成“888888”了,如何实现呢?请看sql语句:update student set classno=2,classname="二班",password="888888" where id=1

update语句中表达式可以写成set 字段=要更新的值,多个字段的时候字段中间用英文逗号隔开,这个地方不仅仅可以使用“=”使用运算表达式也可以,下面的通表更新中老韩会写一个表达式的update语句,现在咱们来查一下更新的效果;可以看到老韩的信息修改了。

2、通表更新;

通标更新就是不加where条件,对表中所有的数据进行更新,标准写法:update 表名 set 运算表达式;

学校入学是九月份,现在过了年了,同学们的年龄都增加了一岁,如何将student表中所有人的年龄增加1呢?请看sql语句:update student set age = (age+1),语句中“age+1”是一个表达式,并不是一个具体的值,这样也可以,这个语句没有where表达式意思就是通表(整张表)更新,来看一下更新的效果把,可以看到所有人age都增加了1。

二、delete(删除)语句;

删除语句同样也是两种方式,精准删除和全部删除;

为了方便演示,老韩又创建了一个goods(商品)表,创建语句为:

create table goods(

-- 编号为主键

Nub int UNIQUE not null PRIMARY key,

-- 商品名称

goodsName varchar(50),

-- 价格

price DECIMAL(8,2) not null,

-- 库存数量,不允许为负数

amount int UNSIGNED ,

-- 商品备注

remark varchar(100)

)

“--”表示的是注释,跟Java注释一样,但是跟写的字中间要有空格,老韩手动插入了一条数据如下图所示;

直接可以通过图中所示方法图形化的增加数据,虽然有图形化的维护功能,但是还需要熟悉sql语句。

1、精准删除;

标准写法delete from 表名 where 条件;

从上面的图片可以看到老韩的饭店开张了,饭店里有各种商品,吃的喝的,有一天一个客人吃了老韩做的红烧肉拉肚子了,老韩就不再卖红烧肉了,决定把红烧肉删除,如何实现呢?直接上SQL语句:delete from goods where nub=4,咱们看一下执行结果,红烧肉从表中删除了。

2、全部删除;

标准写法delete from 表名,可以看出和精准删除相比,没有where条件,这个意思就是把表中的所有数据都删除,注意:只是删除数据,表还存在,以后还可以写数据。

咱们还结合上面的例子来讲,红烧肉没了,客人要了一碗面,结果又吃拉肚子了,给老韩投诉了,饭店倒闭了,所有的商品都要删除,这个如何实现呢?直接上SQL语句:delete from goods,来看一下执行结果,可以看到所有的商品信息都没了。

三、update和delete在实际工作中的应用;

update在实际工作中用到的记录非常之高,delete有时候也会用到,接下来老韩列举几个实际中的应用。

1、update语句和定时任务(后面作为一个专题讲)结合来执行一些定时任务,如每天晚上12点扫描员工是否入职满一年,是否满两年......自动更新年假天数。

2、update语句在某个动作之后去更新数据,如财务系统中的库存,在OA系统内走完审批之后会根据OA表单中的数量自动增加;如人员的状态会在转正申请之后变为正式,在离职之后改为离职;如在采购申请审批完毕之后自动的会扣减相应的预算等等。

3、delete语句经常用来清理数据,如我们去做项目了,需求都实现完了,也测试完了,明天上线,今天晚上必须要做的一件事那就是清理数据,可以使用delete来对测试数据进行清理,有的朋友可能会说使用truncate,比delete快的多,其实测试数据的体量就不要谈什么效率了,而且truncate不支持回滚(后面也会出专题来讲),如果使用delete删除错了,我还可以恢复一下,使用truncate就不好弄了,就算是能恢复数据,不管是通过日志也好什么也好,那就得不偿失了,所以清理数据使用delete。

update和delete用法及在实际工作中的应用就介绍完了,希望对读者朋友有所帮助,如有问题可以通过图片中联系方式联系老韩,老韩知无不答。没有点关注的朋友可以点下关注,你们每一次的关注、转发、收藏都是老韩持续更新的动力,谢谢观看,我们下期再见。

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新