概要 :このチュートリアルでは、SQLite UPDATEの使用方法を学習します テーブル内の既存の行のデータを更新するステートメント。
SQLite UPDATEの紹介 ステートメント
テーブル内の既存のデータを更新するには、SQLite UPDATEを使用します 声明。次に、UPDATEの構文を示します。 ステートメント:
UPDATE table
SET column_1 = new_value_1,
column_2 = new_value_2
WHERE
search_condition
ORDER column_or_expression
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql) この構文では:
- まず、
UPDATEの後に更新するテーブルを指定します 条項。 - 次に、
SETでテーブルの各列に新しい値を設定します 条項。 - 3番目に、
WHEREの条件を使用して更新する行を指定します 句。WHERE句はオプションです。スキップすると、UPDATEステートメントは、テーブルのすべての行のデータを更新します。 - 最後に、
ORDER BYを使用します およびLIMITUPDATEの句 更新する行数を指定するステートメント。
LIMITで負の値を使用する場合は注意してください 句、SQLiteは制限がないと想定し、前のWHEREの条件を満たすすべての行を更新します 条項。
ORDER BY 句は常にLIMITと一緒に使用する必要があります 更新する行を正確に指定する句。そうしないと、どの行が実際に更新されるかがわかりません。 ORDER BYがないため 句では、テーブル内の行の順序は指定されていません。
SQLite UPDATE ステートメントの例
employeesを使用します UPDATEを示すサンプルデータベースのテーブル ステートメント。
次のSELECT ステートメントはemployeesから部分的なデータを取得します テーブル:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees;Code language: SQL (Structured Query Language) (sql) 試してみてください
1)1つの列の例を更新
ジェーンが結婚し、自分の名前を夫の名前、つまりSmithに変更したいとします。 。この場合、次のステートメントを使用してジェーンの名前を更新できます。
UPDATE employees
SET lastname = 'Smith'
WHERE employeeid = 3;Code language: SQL (Structured Query Language) (sql) 試してみてください
WHEREの式 句は、ジェーンのレコードのみを更新することを確認します。 lastnameを設定します 列をリテラル文字列に変換'Smith' 。
UPDATEを確認するには 、次のステートメントを使用します:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees
WHERE
employeeid = 3;Code language: SQL (Structured Query Language) (sql) 試してみてください
2)複数の列を更新する例
Park Margaretを想定します Torontoにあります 彼の住所、都市、州の情報を変更したい。 UPDATEを使用できます 次のように複数の列を更新するステートメント:
UPDATE employees
SET city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7'
WHERE
employeeid = 4;Code language: SQL (Structured Query Language) (sql) 試してみてください
UPDATEを確認するには 、次のステートメントを使用します:
SELECT
employeeid,
firstname,
lastname,
state,
city,
PostalCode
FROM
employees
WHERE
employeeid = 4;Code language: SQL (Structured Query Language) (sql) 試してみてください
3)ORDER BYで更新 およびLIMIT 条項の例
UPDATEを実行するには、SQLITE_ENABLE_UPDATE_DELETE_LIMITオプションを使用してSQLiteをビルドする必要があることに注意してください。 オプションのORDER BYを含むステートメント およびLIMIT 条項。
employeesの従業員のメールアドレスを確認しましょう テーブル:
SELECT
employeeid,
firstname,
lastname,
email
FROM
employees;Code language: SQL (Structured Query Language) (sql) 試してみてください
employeesの1行を更新するには テーブルでは、LIMIT 1を使用します 句。名でソートされた従業員の最初の行を確実に更新するには、ORDER BY firstnameを追加します。 条項。
したがって、次のステートメントはAndrew Adamsの電子メールを更新します :
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
)
ORDER BY
firstname
LIMIT 1;Code language: SQL (Structured Query Language) (sql) 試してみてください
新しいメールアドレスは、名、ドット(。)、姓、および接尾辞@chinookcorp.comを組み合わせたものです。
LOWER() 関数はメールを小文字に変換します。
4)すべての行を更新する例
employeesのすべての行を更新するには テーブルの場合、WHEREをスキップします 句。たとえば、次のUPDATE ステートメントは、すべての従業員のすべての電子メールアドレスを小文字に変更します:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
);Code language: SQL (Structured Query Language) (sql) 試してみてください
このチュートリアルでは、SQLiteのUPDATEの使用方法を学びました。 テーブル内の既存のデータを更新するステートメント。
参照
- https://www.sqlite.org/lang_update.html –SQLiteUpdateステートメント