12月阅读周·MySQL数据库入门:数据库操作之更新数据篇
背景
去年下半年,我在微信书架里加入了许多技术书籍,各种类别的都有,断断续续的读了一部分。
没有计划的阅读,收效甚微。
新年伊始,我准备尝试一下其他方式,比如阅读周。每月抽出1~2个非连续周,完整阅读一本书籍。
这个“玩法”虽然常见且板正,但是有效,已经坚持阅读十一个月。
已读完书籍:《架构简洁之道》、《深入浅出的Node.js》、《你不知道的JavaScript(上卷)》、《你不知道的JavaScript(中卷)》、《你不知道的JavaScript(下卷)》、《数据结构与算法JavaScript描述》、《WebKit技术内幕》、《前端架构:从入门到微前端》、《秒懂算法:用常识解读数据结构与算法》、《JavaScript权威指南》、《JavaScript异步编程设计快速响应的网络应用》、《编写可测试的JavaScript代码》。
当前阅读周书籍:《MySQL数据库入门》。
更新数据
更新数据是指对表中存在的记录进行修改,这是数据库常见的操作,比如某个学生改了名字,就需要对其记录信息中的name字段值进行修改。
MySQL中使用UPDATE语句来更新表中的记录,其基本的语法格式如下所示:
UPDATE 表名
SET 字段名1= 值1[,字段名2 = 值2,…]
[WHERE 条件表达式]
在上述语法格式中,“字段名1”,“字段名2”用于指定要更新的字段名称,“值1”,“值2”用于表示字段更新的新数据。“WHERE条件表达式”是可选的,用于指定更新数据需要满足的条件。UPDATE语句可以更新表中的部分数据和全部数据,下面就对这两种情况进行讲解。
UPDATE更新部分数据
更新部分数据是指根据指定条件更新表中的某一条或者某几条记录,需要使用WHERE子句来指定更新记录的条件。
【例1-1】 更新student表中id字段值为1的记录,将记录中的name字段的值更改为'caocao',grade字段的值更改为50。在更新数据之前,首先使用查询语句查看id字段值为1的记录,执行结果如下所示:
mysql>SELECT * FROM student
-> WHERE id=1;
+------+----------+-------+
| id | name | grade |
+------+----------+-------+
| 1 | zhangsan | 98.5 |
+------+----------+-------+
1 row in set (0.00 sec)
从查询结果可以看到,id字段值为1的记录只有一条,记录中name字段的值为'zhangsan',grade字段的值为98.5。下面使用UPDATE语句更新这条记录,SQL语句如下所示:
UPDATE student
set name='caocao',grade=50
WHERE id=1;
上述SQL语句执行成功后,会将id为1的数据进行更新。为了验证数据是否更新成功,使用SELECT语句查看数据库student中id为1的记录,查询结果如下所示:
mysql>SELECT * FROM student
-> WHERE id=1;
+------+--------+-------+
| id | name | grade |
+------+--------+-------+
| 1 | caocao | 50 |
+------+--------+-------+
1 row in set (0.00 sec)
从查询结果可以看到,id字段值为1的记录发生了更新,记录中name字段的值变为'caocao',grade字段的值变为50。如果表中有多条记录满足WHERE子句中的条件表达式,则满足条件的记录都会发生更新。
【例1-2】 更新student表中id字段值小于4的记录,将这些记录的grade字段值都更新为100。在更新数据前,首先使用查询语句查看id字段值小4的记录,执行结果如下所示:
mysql>SELECT * FROM student
-> WHERE id<4;
+------+--------+-------+
| id | name | grade |
+------+--------+-------+
| 1 | caocao | 50 |
| 2 | lisi | 95 |
| 3 | wangwu | 61.5 |
+------+--------+-------+
3 rows in set (0.00 sec)
从查看结果可以看到,id字段值小于4的记录一共有三条,它们的grade字段值各不相同。下面使用UPDATE语句更新这三条记录,UPDATE语句如下所示:
UPDATE student
SET grade=100
WHERE id<4;
执行UPDATE语句更新student表中的数据,然后通过查询语句查看更新后的数据,执行结果如下所示:
mysql>SELECT * FROM student
-> WHERE id<4;
+------+--------+-------+
| id | name | grade |
+------+--------+-------+
| 1 | caocao | 100 |
| 2 | lisi | 100 |
| 3 | wangwu | 100 |
+------+--------+-------+
3 rows in set (0.00 sec)
从查询结果可以看出,id字段值为1、2、3的记录其grade字段值都变为100,这说明满足WHERE子句中条件表达式的记录都更新成功。
UPDATE更新全部数据
在UPDATE语句中如果没有使用WHERE子句,则会将表中所有记录的指定字段都进行更新。
【例1-3】 更新student表中全部记录,将grade字段值都更新为80,UPDATE语句如下所示:
UPDATE student
SET grade=80;
执行UPDATE语句更新student表中的数据,接下来通过查询语句查看更新后的记录,SQL语句如下所示:
mysql>select * from student;
+------+-----------+-------+
| id | name | grade |
+------+-----------+-------+
| 1 | caocao | 80 |
| 2 | lisi | 80 |
| 3 | wangwu | 80 |
| 4 | zhaoliu | 80 |
| NULL | sunbin | 80 |
| 5 | boya | 80 |
| 6 | lilei | 80 |
| 7 | hanmeimei | 80 |
| 8 | poly | 80 |
| 9 | liubei | 80 |
| 10 | guanyu | 80 |
| 11 | zhangfei | 80 |
+------+-----------+-------+
11 rows in set (0.00 sec)
从查询结果可以看出,student表中所有记录的grade字段都变为80,数据更新成功。
总结
更新数据是指对表中存在的记录进行修改,这是数据库常见的操作,比如某个学生改了名字,就需要对其记录信息中的name字段值进行修改。
MySQL中使用UPDATE语句来更新表中的记录,UPDATE语句可以更新表中的部分数据和全部数据。
作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。
- 点赞
- 收藏
- 关注作者
评论(0)