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
OPDATERING
klausul. - For det andet skal du indstille en ny værdi for hver kolonne i tabellen i
SET
klausul. - For det tredje, angiv rækker, der skal opdateres ved hjælp af en betingelse i
WHERE
klausul.WHERE
klausul er valgfri. Hvis du springer det over, visesOPDATERING
sætning vil opdatere data i alle rækker i tabellen. - Brug endelig
ORDER BY
ogLIMIT
klausuler iOPDATERING
sæ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