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