mysql 更新資料表的記錄

2022-03-17 23:40:09 字數 2194 閱讀 3559

對於表裡的記錄值,可以通過update 命令進行更改,語法如下:

update tablename set field1=value1,field2.=value2,……fieldn=valuen [where condition]

例如,將表emp 中ename 為「lisa」的薪水(sal)從3000 更改為4000:

mysql> update emp set sal=4000 where ename='

lisa';

query ok, 1 row affected (0.00sec)

rows matched: 1 changed: 1 warnings: 0

在mysql 中,update 命令可以同時更新多個表中資料,語法如下:

update t1,t2…tn set t1.field1=expr1,tn.fieldn=exprn [where condition]

在下例中,同時更新表emp 中的字段sal 和表dept 中的字段deptname:

mysql> select * from

emp;

+--------+------------+---------+--------+

| ename | hiredate | sal | deptno |

+--------+------------+---------+--------+

| zzx | 2000-01-01 | 100.00 | 1 |

| lisa | 2003-02-01 | 200.00 | 2 |

| bjguan | 2004-04-02 | 100.00 | 1 |

| dony | 2005-02-05 | 2000.00 | 4 |

+--------+------------+---------+--------+

4 rows in set (0.00sec)

mysql> select * from

dept;

+--------+----------+

| deptno | deptname |

+--------+----------+

| 1 | tech |

| 2 | sale |

| 5 | fin |

+--------+----------+

3 rows in set (0.00sec)

mysql> update emp a,dept b set a.sal=a.sal*b.deptno,b.deptname=a.ename where

a.deptno=b.deptno;

query ok, 3 rows affected (0.04sec)

rows matched: 5 changed: 3warnings: 0

mysql> select * from

emp;

+--------+------------+---------+--------+

| ename | hiredate | sal | deptno |

+--------+------------+---------+--------+

| zzx | 2000-01-01 | 100.00 | 1 |

| lisa | 2003-02-01 | 400.00 | 2 |

| bjguan | 2004-04-02 | 100.00 | 1 |

| dony | 2005-02-05 | 2000.00 | 4 |

+--------+------------+---------+--------+

4 rows in set (0.01sec)

mysql> select * from

dept;

+--------+----------+

| deptno | deptname |

+--------+----------+

| 1 | zzx |

| 2 | lisa |

| 5 | fin |

+--------+----------+

3 rows in set (0.00sec)

自此,兩個表的資料同時進行了更新。

注意:多表更新的語法更多地用在了根據乙個表的字段,來動態的更新另外乙個表的字段

mysql 更新資料表的記錄

對於表裡的記錄值,可以通過update 命令進行更改,語法如下 update tablename set field1 value1,field2.value2,fieldn valuen where condition 例如,將表emp 中ename 為 lisa 的薪水 sal 從3000 更改...

mysql更新表結構 mysql更新資料表結構命令

mysql中alter命令的用法,用於編輯表結構 修改表名alter table test rename test1 修改字段型別alter table employee change depno depno int 5 not null 加索引alter table 表名 add index 索引...

MySQL 更新基礎資料表

在pacs的mysql資料庫裡,收費專案與his收費專案不能同步,需要手工更新。一 使用insert into table onduplicate keyupdate 語句,將資料直接更新。資料庫會判斷,如果主鍵存在,則更新相應字段,如果主鍵不存在,則插入該行資料。相當於是 update 和 ins...