软件:mysql
关键词:数据修改 update 更新数据
结果:成功运行
Update 更新数据
1、整表字段数据全更新
mysql> update grade set gradeName=‘大一’;
Query OK, 12 rows affected (0.01 sec)
Rows matched: 14 Changed: 12 Warnings: 0
结果显示如下:
mysql> select from grade;*
±--------±----------+
| gradeID | gradeName |
±--------±----------+
| 1 | 大一 |
| 2 | 大一 |
| 3 | 大一 |
| 4 | 大一 |
| 5 | 大一 |
| 6 | 大一 |
| 7 | 大一 |
| 8 | 大一 |
| 9 | 大一 |
| 10 | 大一 |
| 11 | 大一 |
| 12 | 大一 |
| 13 | 大一 |
| 14 | 大一 |
±--------±----------+
14 rows in set (0.00 sec)
2、表内字段个别数据更新
mysql> update grade set gradeName=‘大二’
-> where gradeID=2;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
说明:只更改1个id=2 的数据。
结果如下:
mysql> *select from grade;
±--------±----------+
| gradeID | gradeName |
±--------±----------+
| 1 | 大一 |
| 2 | 大二 |
| 3 | 大一 |
| 4 | 大一 |
| 5 | 大一 |
| 6 | 大一 |
| 7 | 大一 |
| 8 | 大一 |
| 9 | 大一 |
| 10 | 大一 |
| 11 | 大一 |
| 12 | 大一 |
| 13 | 大一 |
| 14 | 大一 |
±--------±----------+
14 rows in set (0.00 sec)
3、表内字段进行运算
mysql> update subject set classHour = classHour - 10
-> where classHour > 100
-> and gradeID=1
-> ;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
4、表内字段选择其他已有数值替换更新
mysql> update subject set classHour =
-> (select classHour from
-> (select classHour from subject
-> where subjectNo = 12) as ch)
-> where subjectNo = 9
-> ;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
结果显示如下:
| 9 | 高等数学-1 | 130 | 1 |
| 10 | 高等数学-2 | 110 | 2 |
| 11 | 高等数学-3 | 100 | 3 |
| 12 | 高等数学-4 | 130 | 4 |
±----------±---------------±----------±--------+
说明:因为不能从条件查询种直接更新数值,因此,将选择数据设成临时表ch,并从ch中选择数值赋值给字段。即更新的数据应该来源于表,而不能直接来源于查询条件。