Mysql更新和删除

Mysql更新和删除教程

当数据进入到表里面的时候,数据不会是一成不变的,如果想要对数据库里面的数据进行改变,我们可以使用 update 对数据进行更新,也可以使用 delete 对数据进行删除。

本章使用的 sql 语句

CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `stu_no` int(11) DEFAULT NULL, `stu_name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, `class_id` int(11) DEFAULT NULL COMMENT '班级ID', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4; INSERT INTO `student` VALUES (1, 100, 'INSERT', 20, 1); INSERT INTO `student` VALUES (2, 101, 'INSERT1', 20, NULL); INSERT INTO `student` VALUES (10, 100, 'INSERT', 20, 1); INSERT INTO `student` VALUES (11, 101, 'INSERT1', 20, NULL);

Update更新数据

语法

UPDATE tablename set column1 = value1 , column2 = value2 ... [where 条件]

描述

update 是更新表的关键字,如果想对表里面的数据进行更新,需要使用 update。where 条件是可选的,如果有 where 就对指定的数据进行更新,如果不加 where 那么会对表里面所有的数据进行更新,在使用 update 语句的时候需要谨慎。

案例

UPDATE student SET class_id = 2 WHERE class_id IS NULL;

运行后的数据结果如下

06 update.png

将原先表里面的 class_id 为 null 的数据变成了 2。where 条件是可选的,如果不加 where 条件的话,所有的数据都会被更新。

Delete删除数据

语法

DELETE FROM 表名 [where column1 = 值1 and colume2 = 值2];

描述

DELETE 对表进行操作对时候,如果加 where 对话,就是对指定的行数据进行删除,如果不加 where 会对表里面的所有数据进行删除。在使用的时候,我们一定要考虑清楚是删除整表数据还是删除行数据。

案例

DELETE FROM student where id = 11;

运行后的数据库结果为

07 delete.png

可以看到 id 为 11 的数据被删除了,还剩下三条记录。

Mysql更新和删除总结

在使用 UPDATE 和 DELETE 语句的时候,我们需要先确定是操作整表数据还是操作对应的行记录。如果是操作行记录,必须要和 WHERE 结合一起使用。

在平时的生产操作中,都是和 where 条件一起使用的。在平时生产操作中,我们一定要谨慎使用 UPDATE 和 DELETE 操作方法。