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
UPDATEklauzula. - Po drugie, ustaw nową wartość dla każdej kolumny tabeli w
SETklauzula. - Po trzecie, określ wiersze do zaktualizowania za pomocą warunku w
WHEREklauzula.WHEREklauzula jest opcjonalna. Jeśli go pominiesz,UPDATEinstrukcja zaktualizuje dane we wszystkich wierszach tabeli. - Na koniec użyj
ORDER BYiLIMITklauzule wUPDATEoś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