SQLite-UPDATEクエリ

SQLite UPDATEクエリは、テーブル内の既存のレコードを変更するために使用されます。WHERE句をUPDATEクエリとともに使用して、選択した行を更新できます。そうしないと、すべての行が更新されます。

構文

以下は、WHERE句を使用したUPDATEクエリの基本的な構文です。

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の顧客のADDRESSを更新する例です。

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テーブルのすべてのADDRESS列とSALARY列の値を変更する場合は、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