MySQL之DML语句

2024年 6月 30日 82.8k 0

如果有的学生改了姓名,我们也得同步一下我们的数据库信息,那就涉及到修改数据的语句了,老样子,我们先看下一下官档中的UPDATE语法。

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET assignment_list
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

value:
    {expr | DEFAULT}

assignment:
    col_name = value

assignment_list:
    assignment [, assignment] ...

INSERT最后一例中,我们将student_id为20003的学生姓名'工藤新一'变成了'野原新之助'。现在,我们就可以使用UPDATE语句将原始姓名改回去了:

[root@localhost][employee]> UPDATE `student_foreign` SET `student_name`='工藤新一' WHERE `student_id`=20003;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

  • 查看一下当前student_foreign表的数据:

MySQL之DML语句-1

从结果可以看出,'工藤新一'又回来了。

不过,这个例子中,还有一个很重要的点需要注意,就是我们在修改数据的时候是通过WHERE条件进行匹配的,只修改了我们想要修改的一行数据,如果不加WHERE条件的话,全表的student_name都会被修改,如果一个学生表的学生姓名都变成了'工藤新一',后果不堪设想,所以,使用UPDATE的时候一定要注意。同时,MySQL也为我们提供了一些安全性的参数选项:safe_updates,重点参数后面也会开辟新文章来讲解,不是本文的重点,这里不再赘述。还有,如果一张表的数据量非常大,执行UPDATE的时候不加WHERE语句,不仅对数据的准确性有一定破坏,对系统负载也会产生影响,所以,在使用UPDATE的时候一定要加WHERE条件!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论