Mysql增刪改查之更新記錄
更新記錄
更新數(shù)據(jù)我們已經說過。需要修改內容,修改銀行卡余額,修改裝備信息的時候都需要使用到update,修改語句。
修改(也叫更新)語句的基本語語法如下:
類別 | 詳細解示 |
---|---|
基本語法 | update 表名 set 字段1=值1,字段2=值2,字段n=值n where 條件 |
示例 | update money set ?balance=balance-500 where userid = 15; |
示例說明 | 修改money表,將balance余額減500。要求userid為15 |
假設我們有下面這一個表,表結構如下:
userid | username | balance |
---|---|---|
1 | 王寶強 | 50000.00 |
2 | 黃曉明 | 150000000.00 |
15 | 馬云 | 15000.00 |
16 | 陳赫 | 1234131.00 |
mysql> select * from emp where deptno=15;
+------+----------+----------+
| userid |username| ?balance |
+------+----------+----------+
| 15 ? | ?馬云 ? ?| 15000.00 |
+------+-------+-------------+
1 row in set (0.00 sec)
使用 update 語句進行記錄更新
mysql> ?update money set ?balance=balance-500 where userid = 15;
?Query OK, 1 row affected (0.35 sec)
?Rows matched: 1 ?Changed: 1 ?Warnings: 0mysql> select * from emp where deptno=15;
?+------+----------+----------+
?| userid |username| ?balance |
?+------+----------+----------+
?| 15 ? | ?馬云 ? ?| 14500.00 |
?+------+-------+-------------+
?1 row in set (0.00 sec)
修改多個字段
mysql> update money set ?balance=balance-500,username='李文凱' where userid = 15;
?Query OK, 1 row affected (0.00 sec)
?Rows matched: 1 ?Changed: 1 ?Warnings: 0mysql> select * from emp where deptno=15;
?+------+----------+----------+
?| userid |username| ?balance |
?+------+----------+----------+
?| 15 ? |王寶強 ? ?| 14500.00 |
?+------+-------+-------------+
?1 row in set (0.00 sec)
同時對兩個表進行更新
類別 | 詳細解示 |
---|---|
基本語法 | update 表1,表2 set 字段1=值1,字段2=值2,字段n=值n where 條件 |
示例 | update money m,user u m.balance=m.balance*u.age where m.userid=u.id; |
示例說明 | 修改money,將money表的別名設置為m;user表的別名設置為u;將m表的余額改為m表的balance*用戶表的age。執(zhí)行條件是:m.userid = u.id |
mysql> update money m,user u m.balance=m.balance*u.age where m.userid=u.id;