概要 :このチュートリアルでは、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
を使用します およびLIMIT
UPDATE
の句 更新する行数を指定するステートメント。
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ステートメント