Sammanfattning :i den här handledningen kommer du att lära dig hur du använder SQLite UPDATE
uttalande för att uppdatera data för befintliga rader i tabellen.
Introduktion till SQLite UPDATE
uttalande
För att uppdatera befintliga data i en tabell använder du SQLite UPDATE
påstående. Följande illustrerar syntaxen för UPDATE
uttalande:
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)
I denna syntax:
- Först, ange tabellen där du vill uppdatera efter
UPDATE
klausul. - För det andra, ställ in ett nytt värde för varje kolumn i tabellen i
SET
klausul. - För det tredje, ange rader som ska uppdateras med ett villkor i
WHERE
klausul.WHERE
klausul är valfri. Om du hoppar över det visasUPDATE
uttalandet kommer att uppdatera data i alla rader i tabellen. - Använd slutligen
ORDER BY
ochLIMIT
klausuler iUPDATE
uttalande för att ange antalet rader som ska uppdateras.
Observera att om du använder ett negativt värde i LIMIT
SQLite antar att det inte finns någon gräns och uppdaterar alla rader som uppfyller villkoret i föregående WHERE
klausul.
ORDER BY
sats ska alltid gå med LIMIT
sats för att specificera exakt vilka rader som ska uppdateras. Annars kommer du aldrig att veta vilken rad som faktiskt kommer att uppdateras; eftersom utan ORDER BY
sats, ordningen på raderna i tabellen är ospecificerad.
SQLite UPDATE
exempel på uttalanden
Vi kommer att använda employees
tabell i exempeldatabasen för att demonstrera UPDATE
uttalande.
Följande SELECT
uttalandet får partiell data från employees
tabell:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees;
Code language: SQL (Structured Query Language) (sql)
Prova det
1) Uppdatera ett kolumnexempel
Anta att Jane gifte sig och hon ville ändra sitt efternamn till sin mans efternamn, dvs. Smith
. I det här fallet kan du uppdatera Janes efternamn med följande uttalande:
UPDATE employees
SET lastname = 'Smith'
WHERE employeeid = 3;
Code language: SQL (Structured Query Language) (sql)
Prova det
Uttrycket i WHERE
klausul ser till att vi endast uppdaterar Janes register. Vi anger lastname
kolumn till en bokstavlig sträng 'Smith'
.
För att verifiera UPDATE
, använder du följande uttalande:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees
WHERE
employeeid = 3;
Code language: SQL (Structured Query Language) (sql)
Prova det
2) Exempel på uppdatering av flera kolumner
Antag att Park Margaret
lokaliseras i Toronto
och du vill ändra hans adress, stad och delstatsinformation. Du kan använda UPDATE
uttalande för att uppdatera flera kolumner enligt följande:
UPDATE employees
SET city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7'
WHERE
employeeid = 4;
Code language: SQL (Structured Query Language) (sql)
Prova det
För att verifiera UPDATE
, använder du följande uttalande:
SELECT
employeeid,
firstname,
lastname,
state,
city,
PostalCode
FROM
employees
WHERE
employeeid = 4;
Code language: SQL (Structured Query Language) (sql)
Prova det
3) Uppdatera med ORDER BY
och LIMIT
exempel på klausuler
Observera att du måste bygga SQLite med alternativet SQLITE_ENABLE_UPDATE_DELETE_LIMIT för att utföra UPDATE
uttalande med valfri ORDER BY
och LIMIT
klausuler.
Låt oss kontrollera e-postadresserna till anställda i employees
tabell:
SELECT
employeeid,
firstname,
lastname,
email
FROM
employees;
Code language: SQL (Structured Query Language) (sql)
Prova det
För att uppdatera en rad i employees
tabell använder du LIMIT 1
klausul. För att se till att du uppdaterar den första raden av anställda sorterade efter förnamn, lägger du till ORDER BY firstname
klausul.
Så följande uttalande uppdaterar e-post från Andrew Adams
:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
)
ORDER BY
firstname
LIMIT 1;
Code language: SQL (Structured Query Language) (sql)
Prova det
Det nya e-postmeddelandet är kombinationen av förnamn, punkt (.), efternamn och suffixet @chinookcorp.com
LOWER()
funktionen konverterar e-postmeddelandet till gemener.
4) Uppdatera exempel på alla rader
För att uppdatera alla rader i employees
tabell hoppar du över WHERE
klausul. Till exempel följande UPDATE
uttalandet ändrar alla e-postadresser till alla anställda till gemener:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
);
Code language: SQL (Structured Query Language) (sql)
Prova det
I den här handledningen har du lärt dig hur du använder SQLite UPDATE
uttalande för att uppdatera befintliga data i en tabell.
Referenser
- https://www.sqlite.org/lang_update.html – SQLite Update-sats