暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
9.update语句用法.docx
47
5页
0次
2024-07-20
免费下载
UPDATE 用法
如果想要更新表中的已有的数据行,需要使用到 UPDATE 语句。
UPDATE 语法
UPDATE 语句可以更新表中的一行或者多行数据,可以更新表中的一个或者多个字段(列)。
以下是 UPDATE 语句的基本语法:
UPDATE table_name
SET
column_name1 = value1,
column_name2 = value2,
...
[WHERE clause];
UPDATE 语句中的 WHERE 子句非常重要。除非特意,否则不要省略 WHERE 子句。
UPDATE 示例
修改单列值
empno 等于 7934 的员工的奖金修改为 200
update emp set bonus=200 where empno=7934;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
UPDATE 输出的结果中:
1. 1 row affected 表示 1 行数据受影响。也就是更新了 1 行数据。
2. Rows matched: 1 表示匹配的 WHERE 条件的行数是 1
3. Changed: 1 表示修改的行数是 1
4. Warnings: 0 表示没有需要注意的事项。
查看更新后的数据
mysql> select * from emp where empno=7934;
+-------+--------+-----------+---------+------------+--------+-------+--------+
| empno | ename | job | manager | hiredate | salary | bonus | deptno |
+-------+--------+-----------+---------+------------+--------+-------+--------+
| 7934 | 杜丁 | 业务员 | 7782 | 1982-01-23 | 1300 | 200 | 1 |
+-------+--------+-----------+---------+------------+--------+-------+--------+
1 row in set (0.00 sec)
修改多列值
同时更新 empno 等于 7934 的员工的 salary,bonus
UPDATE emp
SET salary = 2000,
bonus = 400
WHERE empno = 7934;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
验证更新后的的数据:
mysql> select * from emp where empno=7934;
+-------+--------+-----------+---------+------------+--------+-------+--------+
| empno | ename | job | manager | hiredate | salary | bonus | deptno |
+-------+--------+-----------+---------+------------+--------+-------+--------+
| 7934 | 杜丁 | 业务员 | 7782 | 1982-01-23 | 2000 | 400 | 1 |
+-------+--------+-----------+---------+------------+--------+-------+--------+
1 row in set (0.00 sec)
使用表达式更新
使用 UPDATE 更新时,字段的值可以设置为表达式的运算结果,比如函数或其他的运算。
UPDATE emp
SET salary = salary+500;
Query OK, 14 rows affected (0.00 sec)
Rows matched: 14 Changed: 14 Warnings: 0
注意:本例中没有使用 WHERE 子句,所以表中所有的数据都进行了更新。
验证更新后的的数据:
mysql> select * from emp;
+-------+-----------+-----------+---------+------------+--------+-------+--------+
| empno | ename | job | manager | hiredate | salary | bonus | deptno |
+-------+-----------+-----------+---------+------------+--------+-------+--------+
| 7369 | 苏杨孙 | 业务员 | 7902 | 1980-12-17 | 1300 | NULL | 2 |
| 7499 | 郭赵 | 推销员 | 7698 | 1981-02-20 | 2100 | 300 | 3 |
| 7521 | 高宋 | 推销员 | 7698 | 1981-02-22 | 1750 | 500 | 3 |
| 7566 | 高张杜 | 经理 | 7839 | 1981-04-02 | 3475 | NULL | 2 |
| 7654 | 余黄 | 推销员 | 7698 | 1981-09-28 | 1750 | 1400 | 3 |
| 7698 | 胡黄杜 | 经理 | 7839 | 1981-05-01 | 3350 | NULL | 3 |
| 7782 | 肖曹 | 经理 | 7839 | 1981-06-09 | 2950 | NULL | 1 |
| 7788 | 孙袁罗 | 分析师 | 7566 | 1987-07-13 | 3500 | NULL | 2 |
| 7839 | 冯蔡 | 总经理 | NULL | 1981-11-17 | 5500 | NULL | 1 |
| 7844 | 杨郭 | 推销员 | 7698 | 1981-09-08 | 2000 | 0 | 3 |
| 7876 | 赵李任 | 业务员 | 7788 | 1887-07-13 | 1600 | NULL | 2 |
| 7900 | 吕袁 | 业务员 | 7698 | 1981-12-03 | 1450 | NULL | 3 |
| 7902 | 韩潘吕 | 分析师 | 7566 | 1981-12-03 | 3500 | NULL | 2 |
| 7934 | 杜丁 | 业务员 | 7782 | 1982-01-23 | 2500 | 400 | 1 |
+-------+-----------+-----------+---------+------------+--------+-------+--------+
14 rows in set (0.00 sec)
使用子查询更新
给北京工资的员工降薪 200
UPDATE emp
SET salary = salary - 200
WHERE deptno in (select deptno from dept where location = '北京') ;
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
验证更新后的的数据:
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜