DML之修改,删除操作 [MySQL][数据库]

DML之修改(更新),删除操作

修改数据(UEDATE … SET…)

UPDATE … SET … WHERE …

我们一般在修改数据的时候都会加上过滤条件,也就是加上WHERE语句,如果不加WHERE语句,那么我们一整列后者多列的数据就会全部被修改,也就是实现了批量修改

  • 所以我们说: 我们修改数据的时候可以进行批量的修改

我们一般都是针对于某条记录的某个字段进行修改

我们通过一个例子来说明如何对某条记录的某个字段进行修改

UPDATE emp1
#这里的CURDATE()是一个函数,这个函数会返回一个DATE型的数据,返回现在时间对应的DATE类型的数据
SET hire_date = CURDATE();
WHERE id = 5;
  • 这里就是将emp1表中id字段为5的记录的hire_date修改为现在的日期

我们还可以同时修改一条记录的多个字段

我们通过一个例子来说明如何同时修改一条记录的多个字段

UPDATE emp1
SET hire_date = CURDATE(),salary = 6000
WHERE id = 4;
  • 这里就是将emp1表中id字段为4的hire_date修改为今天的日期,并且将salary修改为6000

这里我们给出一个例题:(关于使用修改数据操作的例题)

eg: 将表中姓名中包含字符a的员工提薪20%

UPDATE emp1
SET salary = salary * 1.2
WHERE `name` LIKE '%a%';

修改数据时,是可能存在修改不成功的情况的,比如由于约束的影响就可能导致数据修改不成功

我们通过一个例子来举例修改数据失败的情况

UPDATE employees
SET department_id = 10000
WHERE employees_id = 102;
  • 比如这里我们想要将employees表中的部门id(department_id)字段修改为10000,但是由于我们在创建employees表的时候给department_id字段加了检查约束,要求部门id不能大于500,这个时候我们要将其为10000,显然这个时候10000>500,那么修改数据就会不成功

删除数据(DELETE FROM)

DELETE FROM … WHERE …

在删除数据的时候我们一般也都要加过滤条件,如果不加过滤条件,就会批量删除掉我们的数据

这里我们通过一个例题来理解如何删除数据

DELETE FROM emp1
WHERE id = 1;
  • 这里就是将emp1表中的id等于1的记录删除掉了

在删除数据库时,也有可能因为约束的影响,导致删除失败

这里我们通过一个例子来说明因为约束导致删除失败

DELETE FROM departments
WHERE department_id = 50;
  • 这里我们想要将部门表中部门id(department_id)为50的记录删除掉,也就是将50号部门删除掉,但是由于我们的员工表中有50号部门的人,又由于外键约束,我们就不能从部门表中将50号部门删除掉,这个时候就会删除失败

猜你喜欢

转载自blog.csdn.net/m0_57001006/article/details/123539796