天天看點

【MySQL】資料處理(資料的更新)

一、資料的更新

**在學會資料的插入之後,如果需要修改,怎麼辦呢?

不要慌,我們還有Update語句可以使用,進行對資料的更新。下面一起來學習吧。

1.在資料更新中,我們将要用到 update語句

2.基本文法:

update <表名>

set <列名1=值1>,<列名2=值2>,<列名3=值3>…

where <更新條件>

将圖書資訊中的ISBN編号為“9787121201478”的圖書的出版社改為“3”

mysql> select*from 圖書資訊;
+---------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
| ISBN編号      | 圖書名稱                        | 作者   | 價格 | 出版社 | 出版日期   | 圖書類型 | 封面圖檔 | 圖書簡介 |
+---------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
| 9787121204178 | oracle11g資料庫應用、設計與管理 | 陳承歡 | 38   | 4      | 2014-07-01 | T        | NULL     | NULL     |
| 9787040393293 | 實用工具軟體任務驅動式教程      | 陳承歡 | 26   | 3      | 2014-11-01 | T        | NULL     | NULL     |
| 9787040393293 | 網頁美化與布局                  | 陳承歡 | 39   | 1      | 2015-08-01 | T        | NULL     | NULL     |
+---------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
11 rows in set (0.07 sec)

mysql> update 圖書資訊 set 出版社=3  where ISBN編号='9787121204178';

Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select*from 圖書資訊;
+---------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
| ISBN編号      | 圖書名稱                        | 作者   | 價格 | 出版社 | 出版日期   | 圖書類型 | 封面圖檔 | 圖書簡介 |
+---------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
| 9787121204178 | oracle11g資料庫應用、設計與管理 | 陳承歡 | 38   | 3      | 2014-07-01 | T        | NULL     | NULL     |
| 9787040393293 | 實用工具軟體任務驅動式教程      | 陳承歡 | 26   | 3      | 2014-11-01 | T        | NULL     | NULL     |
| 9787040393293 | 網頁美化與布局                  | 陳承歡 | 39   | 1      | 2015-08-01 | T        | NULL     | NULL     |
+---------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
11 rows in set (0.06 sec)      

将讀者類型資料表中除學生之外的讀者超期日罰金提高一進制,續借次數減少5本。

mysql> select*from 讀者類型;
+--------------+--------------+----------+----------+----------+----------------+------------+
| 讀者類型編号 | 讀者類型名稱 | 限借數量 | 限借期限 | 續借次數 | 借書證有效日期 | 超期日罰金 |
+--------------+--------------+----------+----------+----------+----------------+------------+
| 01           | 系統管理者   |       30 |      360 |        5 |              5 | 1          |
| 02           | 圖書管理者   |       20 |      180 |        5 |              5 | 1          |
| 03           | 特殊讀者     |       30 |      360 |        5 |              5 | 1          |
| 04           | 一般讀者     |       20 |      180 |        3 |              3 | 1          |
| 05           | 教師         |       20 |      180 |        5 |              5 | 1          |
| 06           | 學生         |       10 |      180 |        2 |              3 | 1          |
| 01           | 系統管理者   |       30 |      360 |        5 |              5 | 1          |
| 02           | 圖書管理者   |       20 |      180 |        5 |              5 | 1          |
| 03           | 特殊讀者     |       30 |      360 |        5 |              5 | 1          |
| 04           | 一般讀者     |       20 |      180 |        3 |              3 | 1          |
| 05           | 教師         |       20 |      180 |        5 |              5 | 1          |
| 06           | 學生         |       10 |      180 |        2 |              3 | 1          |
+--------------+--------------+----------+----------+----------+----------------+------------+
12 rows in set (0.06 sec)

mysql> update 讀者類型 set  超期日罰金=超期日罰金+1,續借次數=續借次數-1 where 讀者類型名稱<>'學生';

Query OK, 10 rows affected (0.00 sec)
Rows matched: 10  Changed: 10  Warnings: 0

mysql> select*from 讀者類型;
+--------------+--------------+----------+----------+----------+----------------+------------+
| 讀者類型編号 | 讀者類型名稱 | 限借數量 | 限借期限 | 續借次數 | 借書證有效日期 | 超期日罰金 |
+--------------+--------------+----------+----------+----------+----------------+------------+
| 01           | 系統管理者   |       30 |      360 |        4 |              5 | 2          |
| 02           | 圖書管理者   |       20 |      180 |        4 |              5 | 2          |
| 03           | 特殊讀者     |       30 |      360 |        4 |              5 | 2          |
| 04           | 一般讀者     |       20 |      180 |        2 |              3 | 2          |
| 05           | 教師        |       20 |      180 |        4 |              5 | 2          |
| 06           | 學生        |       10 |      180 |        2 |              3 | 1          |
| 01           | 系統管理者   |       30 |      360 |        4 |              5 | 2          |
| 02           | 圖書管理者   |       20 |      180 |        4 |              5 | 2          |
| 03           | 特殊讀者     |       30 |      360 |        4 |              5 | 2          |
| 04           | 一般讀者     |       20 |      180 |        2 |              3 | 2          |
| 05           | 教師         |       20 |      180 |        4 |              5 | 2          |
| 06           | 學生         |       10 |      180 |        2 |              3 | 1          |
+--------------+--------------+----------+----------+----------+----------------+------------+
12 rows in set (0.08 sec)      

将藏書資訊中的前五行記錄的藏書位置改為“A-1-2”

mysql> select*from 藏書資訊;
+--------------+---------------+----------+----------+----------+------------+
| 圖書編号     | ISBN編号      | 總藏書量 | 館内剩餘 | 藏書位置 | 入庫時間   |
+--------------+---------------+----------+----------+----------+------------+
| tp7040273144 | 9787121201478 |       30 |       30 | a-1-1    | 2015-06-10 |
| tp7040281286 | 9787040393293 |       20 |       20 | a-1-1    | 2015-09-12 |
| tp7302187363 | 9787302187363 |       30 |       30 | a-1-1    | 2014-10-26 |
| tp7040302363 | 9787040302363 |       30 |       30 | a-1-1    | 2015-09-17 |
| tp7115217806 | 9787115217806 |       20 |       20 | a-1-1    | 2015-09-17 |
| tp7115189579 | 9787115374035 |       20 |       20 | a-1-1    | 2015-05-18 |
| tp7121052347 | 9787121052347 |       20 |       20 | a-1-1    | 2014-09-12 |
| tp7111229827 | 9787111220827 |       20 |       20 | a-1-1    | 2014-05-18 |
+--------------+---------------+----------+----------+----------+------------+
16 rows in set (0.05 sec)

mysql> update 藏書資訊 set 藏書位置='A-1-2' limit 5;
Query OK, 5 rows affected (0.00 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> select*from 藏書資訊;
+--------------+---------------+----------+----------+----------+------------+
| 圖書編号     | ISBN編号      | 總藏書量 | 館内剩餘 | 藏書位置 | 入庫時間   |
+--------------+---------------+----------+----------+----------+------------+
| tp7040273144 | 9787121201478 |       30 |       30 | A-1-2    | 2015-06-10 |
| tp7040281286 | 9787040393293 |       20 |       20 | A-1-2    | 2015-09-12 |
| tp7302187363 | 9787302187363 |       30 |       30 | A-1-2    | 2014-10-26 |
| tp7040302363 | 9787040302363 |       30 |       30 | A-1-2    | 2015-09-17 |
| tp7115217806 | 9787115217806 |       20 |       20 | A-1-2    | 2015-09-17 |
| tp7115189579 | 9787115374035 |       20 |       20 | a-1-1    | 2015-05-18 |
| tp7121052347 | 9787121052347 |       20 |       20 | a-1-1    | 2014-09-12 |
| tp7111229827 | 9787111220827 |       20 |       20 | a-1-1    | 2014-05-18 |
+--------------+---------------+----------+----------+----------+------------+
16 rows in set (0.04 sec)      

*在不加where子句時,将會對所有行進行更新