5.2 更新数据记录
更新数据记录是数据操作中常见的操作,该操作可以更新表中已经存在的数据记录中的值。在MySQL中可以通过UPDATE语句来实现更新数据记录,该SQL语句可以通过两种方式使用:更新特定数据记录和更新所有数据记录。
5.2.1 更新特定数据记录
在MySQL中,更新特定数据记录通过SQL语句UPDATE来实现,其语法形式如下:
UPDATE tablename SET field1=value1,field2=value2,field3=value3 WHERE CONDITION;
在上述语句中,参数tablename表示所要更新数据记录的表名,参数field表示表中所要更新数值的字段名字,参数valuen表示更新后的数值,参数CONDITION指定更新满足条件的特定数据记录。
【示例5-6】执行SQL语句UPDATE,在数据库school的班级表t_class中,使名称(字段cname)为“class_1”的地址(字段loc)由“loc_1”更新成“loc_11”,具体步骤如下:
步骤01 创建和选择数据库school,具体SQL语句如下:
CREATE DATABASE school; USE school;
执行结果如图5-41和图5-42所示。
图5-41 创建数据库
图5-42 选择数据库
步骤02 创建和查看t_class表,具体SQL语句如下:
CREATE TABLE t_class( classno INT(11), cname VARCHAR(20), loc VARCHAR(40), advisor VARCHAR(20)); DESCRIBE t_class;
执行结果如图5-43和图5-44所示。
图5-43 创建表
图5-44 查看表信息
步骤03 使用INSERT INTO语句向t_class表中插入完整的数据记录,再使用SELECT语句查询t_class表的数据记录,具体SQL语句如下:
INSERT INTO t_class(classno, cname, loc, advisor) VALUES(1, 'class_1','loc_1','advisor_1'); SELECT * FROM t_class;
执行结果如图5-45和图5-46所示。
图5-45 插入数据记录
图5-46 查询数据记录
步骤04 执行SQL语句UPDATE,更新数据记录,再使用SELECT语句查询t_class表的数据记录,具体SQL语句如下:
UPDATE t_class SET loc='loc_11' WHERE cname='class_1'; SELECT * FROM t_class;
执行结果如图5-47和图5-48所示。
图5-47 更新数据记录
图5-48 查询数据记录
图5-48的执行结果显示,在表t_class中,cname为“class_1”的loc已经更新为“loc_11”。
5.2.2 更新所有数据记录
在MySQL中,更新所有数据记录通过SQL语句UPDATE来实现,其语法形式如下:
在上述语句中,参数tablename表示所要更新数据记录的表名,参数field表示表中所要更新数值的字段名字,参数valuen表示更新后的数值,参数CONDITION表示满足表tablename中所有数据记录,或不使用关键字WHERE语句。
【示例5-7】执行SQL语句UPDATE,在数据库school的班级表t_class中,使得所有数据记录中班级地址(字段loc)都更新成“loc_all”,具体步骤如下:
步骤01 执行SQL语句CREATE DATABASE,创建数据库school,并选择该数据库,具体SQL语句如下:
CREATE DATABASE school; USE school;
执行结果如图5-49和图5-50所示。
图5-49 创建数据库
图5-50 选择数据库
步骤02 创建和查询t_class表,具体SQL语句如下:
执行结果如图5-51和图5-52所示。
图5-51 创建表
图5-52 查看表信息
步骤03 执行SQL语句INSERT INTO,插入完整的数据记录,再使用SELECT语句查询t_class表的数据记录,具体SQL语句如下:
执行结果如图5-53和图5-54所示。
图5-53 插入数据记录
图5-54 查询数据记录
步骤04 使用UPDATE语句更新数据记录,再使用SELECT语句查询t_class表的数据记录,具体SQL语句如下:
UPDATE t_class SET loc='loc_all' WHERE classno<5; SELECT * FROM t_class;
执行结果如图5-55和图5-56所示。
图5-55 更新表
图5-56 查询表
5.2.3 通过SQLyog来更新数据记录
除了SQL语句外,我们还可以通过客户端软件SQLyog来更新数据记录。本小节将基于5.1.6小节的基础进行讲解,数据库、表和表中的数据都已经准备好,具体步骤如下:
步骤01 在“对象资源管理器”窗口中,右击数据库school中表t_class的节点,从弹出的快捷菜单中选择“在新选项卡中打开表格”命令,如图5-57所示。
步骤02 打开如图5-58所示的窗口。
图5-57 选择“在新选项卡中打开表格”
图5-58 t_class表格被打开
步骤03 双击字段loc中的单元格,使其处于编辑状态,就可以更新单元格中的内容,如图5-59所示。
步骤04 单击“保存”按钮,保存修改过的loc字段的数据记录。为了检验更新结果,在“询问”窗口中用SELECT语句来查询t_class中的数据,执行结果如图5-60所示。
图5-59 编辑字段loc的数据
图5-60 查询表t_class中数据
从图5-60的查询结果可以看出,表t_class的数据已经更新完毕。