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
UPDATEklausul. - För det andra, ställ in ett nytt värde för varje kolumn i tabellen i
SETklausul. - För det tredje, ange rader som ska uppdateras med ett villkor i
WHEREklausul.WHEREklausul är valfri. Om du hoppar över det visasUPDATEuttalandet kommer att uppdatera data i alla rader i tabellen. - Använd slutligen
ORDER BYochLIMITklausuler iUPDATEuttalande 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