sql >> Database teknologi >  >> RDS >> SQLite

SQLite opdatering

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, vises OPDATERING sætning vil opdatere data i alle rækker i tabellen.
  • Brug endelig ORDER BY og LIMIT klausuler i OPDATERING 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 OPDATERING , bruger du følgende udsagn:

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 OPDATERING sætning for at opdatere flere kolonner som følger:

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 OPDATERING , bruger du følgende udsagn:

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

  1. MariaDB LENGTH() vs LENGTHB():Hvad er forskellen?

  2. Simuler ORDER BY i SQLite UPDATE for at håndtere entydighedsbegrænsning

  3. Løb i alt efter Group SQL (Oracle)

  4. SQLite have