sql >> Databasteknik >  >> RDS >> SQLite

SQLite-uppdatering

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 visas UPDATE uttalandet kommer att uppdatera data i alla rader i tabellen.
  • Använd slutligen ORDER BY och LIMIT klausuler i UPDATE 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

  1. JDBCTemplate set kapslade POJO med BeanPropertyRowMapper

  2. Hitta antalet kolumner i en tabell

  3. FEL:behörighet nekad för schema user1_gmail_com vid tecken 46

  4. Steg för att synkronisera Standby med primär databas i Oracle