位置:首頁 > 數據庫 > SQLite教學 > SQLite UPDATE 查詢

SQLite UPDATE 查詢

SQLite 的UPDATE查詢用於修改現有的表中的記錄。可以使用UPDATE查詢的WHERE子句更新選定行,否則所有的行會被更新。

語法

UPDATE查詢的WHERE子句的基本語法如下:

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

可以結合的條件下使用N多的AND或OR運算。

例子:

考慮COMPANY表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

以下是一個例子,它會更新地址的客戶,其ID是6:

sqlite> UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;

現在,COMPANY表中有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          Texas       45000.0
7           James       24          Houston     10000.0

如果想修改COMPANY表中所有的地址和薪酬列值,不需要使用WHERE子句及UPDATE查詢將如下:

sqlite> UPDATE COMPANY SET ADDRESS = 'Texas', SALARY = 20000.00;

現在,COMPANY表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          Texas       20000.0
2           Allen       25          Texas       20000.0
3           Teddy       23          Texas       20000.0
4           Mark        25          Texas       20000.0
5           David       27          Texas       20000.0
6           Kim         22          Texas       20000.0
7           James       24          Texas       20000.0