Oversigt :i denne vejledning lærer du, hvordan du bruger SQLite OPDATERING sætning for at opdatere data for eksisterende rækker i tabellen.
Introduktion til SQLite OPDATERING erklæring
For at opdatere eksisterende data i en tabel, bruger du SQLite OPDATERING udmelding. Det følgende illustrerer syntaksen for OPDATERING erklæring:
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 denne syntaks:
- Først skal du angive den tabel, hvor du vil opdatere efter
OPDATERINGklausul. - For det andet skal du indstille en ny værdi for hver kolonne i tabellen i
SETklausul. - For det tredje, angiv rækker, der skal opdateres ved hjælp af en betingelse i
WHEREklausul.WHEREklausul er valgfri. Hvis du springer det over, visesOPDATERINGsætning vil opdatere data i alle rækker i tabellen. - Brug endelig
ORDER BYogLIMITklausuler iOPDATERINGsætning for at angive antallet af rækker, der skal opdateres.
Bemærk, at hvis du bruger en negativ værdi i LIMIT klausul, antager SQLite, at der ikke er nogen grænse og opdaterer alle rækker, der opfylder betingelsen i den foregående WHERE klausul.
ORDER BY klausulen skal altid følge med LIMIT klausul for at specificere præcis, hvilke rækker der skal opdateres. Ellers vil du aldrig vide, hvilken række der rent faktisk bliver opdateret; fordi uden ORDER BY klausul, rækkefølgen af rækker i tabellen er uspecificeret.
SQLite OPDATERING udsagnseksempler
Vi vil bruge medarbejderne tabel i eksempeldatabasen for at demonstrere OPDATERING erklæring.
Følgende SELECT sætning får delvise data fra medarbejderne tabel:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees;Code language: SQL (Structured Query Language) (sql) Prøv det
1) Opdater et kolonneeksempel
Antag, at Jane blev gift, og hun ville ændre sit efternavn til sin mands efternavn, dvs. Smith . I dette tilfælde kan du opdatere Janes efternavn ved hjælp af følgende sætning:
UPDATE employees
SET lastname = 'Smith'
WHERE employeeid = 3;Code language: SQL (Structured Query Language) (sql) Prøv det
Udtrykket i WHERE klausul sørger for, at vi kun opdaterer Janes rekord. Vi indstiller efternavn kolonne til en bogstavelig streng 'Smith' .
For at bekræfte
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees
WHERE
employeeid = 3;Code language: SQL (Structured Query Language) (sql) Prøv det
2) Eksempel på opdatering af flere kolonner
Antag Park Margaret lokaliserer i Toronto og du vil ændre hans adresse, by og statsoplysninger. Du kan bruge
UPDATE employees
SET city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7'
WHERE
employeeid = 4;Code language: SQL (Structured Query Language) (sql) Prøv det
For at bekræfte
SELECT
employeeid,
firstname,
lastname,
state,
city,
PostalCode
FROM
employees
WHERE
employeeid = 4;Code language: SQL (Structured Query Language) (sql) Prøv det
3) Opdater med ORDER BY og LIMIT eksempel på klausuler
Bemærk, at du skal bygge SQLite med indstillingen SQLITE_ENABLE_UPDATE_DELETE_LIMIT for at udføre OPDATERING erklæring med valgfri ORDER BY og LIMIT klausuler.
Lad os tjekke e-mailadresserne på medarbejdere i medarbejdere tabel:
SELECT
employeeid,
firstname,
lastname,
email
FROM
employees;Code language: SQL (Structured Query Language) (sql) Prøv det
For at opdatere en række i medarbejdere tabel, bruger du LIMIT 1 klausul. For at sikre, at du opdaterer den første række af medarbejdere sorteret efter fornavnet, tilføjer du ORDER BY forname klausul.
Så følgende erklæring opdaterer e-mail fra Andrew Adams :
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
)
ORDER BY
firstname
LIMIT 1;Code language: SQL (Structured Query Language) (sql) Prøv det
Den nye e-mail er kombinationen af fornavn, prik (.), efternavn og suffikset @chinookcorp.com
LOWER() funktion konverterer e-mailen til små bogstaver.
4) Opdater eksempel på alle rækker
For at opdatere alle rækker i medarbejdere tabel, springer du WHERE over klausul. For eksempel følgende OPDATERING erklæring ændrer alle mailadresser på alle medarbejdere til små bogstaver:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
);Code language: SQL (Structured Query Language) (sql) Prøv det
I denne øvelse har du lært, hvordan du bruger SQLite OPDATERING sætning for at opdatere eksisterende data i en tabel.
Referencer
- https://www.sqlite.org/lang_update.html – SQLite Update-sætning