Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite UPDATE
oświadczenie, aby zaktualizować dane istniejących wierszy w tabeli.
Wprowadzenie do SQLite UPDATE
oświadczenie
Aby zaktualizować istniejące dane w tabeli, użyj SQLite UPDATE
oświadczenie. Poniższe ilustruje składnię UPDATE
oświadczenie:
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)
W tej składni:
- Najpierw określ tabelę, w której chcesz zaktualizować po
UPDATE
klauzula. - Po drugie, ustaw nową wartość dla każdej kolumny tabeli w
SET
klauzula. - Po trzecie, określ wiersze do zaktualizowania za pomocą warunku w
WHERE
klauzula.WHERE
klauzula jest opcjonalna. Jeśli go pominiesz,UPDATE
instrukcja zaktualizuje dane we wszystkich wierszach tabeli. - Na koniec użyj
ORDER BY
iLIMIT
klauzule wUPDATE
oświadczenie określające liczbę wierszy do zaktualizowania.
Zauważ, że jeśli użyjesz wartości ujemnej w LIMIT
SQLite zakłada, że nie ma limitu i aktualizuje wszystkie wiersze spełniające warunek w poprzednim WHERE
klauzula.
ORDER BY
Klauzula powinna zawsze iść w parze z LIMIT
klauzula, aby dokładnie określić, które wiersze mają zostać zaktualizowane. W przeciwnym razie nigdy nie dowiesz się, który wiersz zostanie faktycznie zaktualizowany; ponieważ bez ORDER BY
klauzula, kolejność wierszy w tabeli jest nieokreślona.
SQLite UPDATE
przykłady wypowiedzi
Będziemy korzystać z employees
tabeli w przykładowej bazie danych, aby zademonstrować UPDATE
oświadczenie.
Następujące SELECT
oświadczenie pobiera częściowe dane od employees
tabela:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
1) Zaktualizuj jeden przykład kolumny
Załóżmy, że Jane wyszła za mąż i chciała zmienić swoje nazwisko na nazwisko męża, tj. Smith
. W takim przypadku możesz zaktualizować nazwisko Jane za pomocą następującego oświadczenia:
UPDATE employees
SET lastname = 'Smith'
WHERE employeeid = 3;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Wyrażenie w WHERE
klauzula zapewnia, że aktualizujemy tylko dane Jane. Ustawiamy lastname
kolumna do literału ciągu 'Smith'
.
Aby zweryfikować UPDATE
, używasz następującego oświadczenia:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees
WHERE
employeeid = 3;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
2) Przykład aktualizacji wielu kolumn
Załóżmy, że Park Margaret
lokalizuje w Toronto
i chcesz zmienić jego adres, miasto i informacje o stanie. Możesz użyć UPDATE
oświadczenie o aktualizacji wielu kolumn w następujący sposób:
UPDATE employees
SET city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7'
WHERE
employeeid = 4;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Aby zweryfikować UPDATE
, używasz następującego oświadczenia:
SELECT
employeeid,
firstname,
lastname,
state,
city,
PostalCode
FROM
employees
WHERE
employeeid = 4;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
3) Zaktualizuj za pomocą ORDER BY
i LIMIT
przykład klauzul
Zauważ, że musisz zbudować SQLite z opcją SQLITE_ENABLE_UPDATE_DELETE_LIMIT, aby wykonać UPDATE
oświadczenie z opcjonalnym ORDER BY
i LIMIT
klauzule.
Sprawdźmy adresy e-mail pracowników w grupie employees
tabela:
SELECT
employeeid,
firstname,
lastname,
email
FROM
employees;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Aby zaktualizować jeden wiersz w employees
tabeli, używasz LIMIT 1
klauzula. Aby upewnić się, że aktualizujesz pierwszy wiersz pracowników posortowanych według imion, dodajesz ORDER BY firstname
klauzula.
Tak więc poniższe oświadczenie aktualizuje e-mail Andrew Adams
:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
)
ORDER BY
firstname
LIMIT 1;
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Nowy e-mail jest kombinacją imienia, kropki (.), nazwiska i sufiksu @chinookcorp.com
LOWER()
funkcja konwertuje wiadomość e-mail na małe litery.
4) Przykład aktualizacji wszystkich wierszy
Aby zaktualizować wszystkie wiersze w employees
tabeli, pomijasz WHERE
klauzula. Na przykład następująca UPDATE
oświadczenie zmienia wszystkie adresy e-mail wszystkich pracowników na małe litery:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
);
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
W tym samouczku nauczyłeś się korzystać z SQLite UPDATE
oświadczenie o aktualizacji istniejących danych w tabeli.
Referencje
- https://www.sqlite.org/lang_update.html – Instrukcja aktualizacji SQLite