Shrnutí :v tomto tutoriálu se naučíte používat SQLite UPDATE příkaz k aktualizaci dat existujících řádků v tabulce.
Úvod do SQLite UPDATE prohlášení
Chcete-li aktualizovat existující data v tabulce, použijte SQLite UPDATE prohlášení. Následující text ilustruje syntaxi UPDATE prohlášení:
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) V této syntaxi:
- Nejprve zadejte tabulku, kterou chcete aktualizovat po
UPDATEdoložka. - Zadruhé nastavte novou hodnotu pro každý sloupec tabulky v
SETdoložka. - Za třetí, určete řádky, které se mají aktualizovat, pomocí podmínky v
WHEREdoložka.WHEREdoložka je nepovinná. Pokud jej přeskočíte, zobrazí seUPDATEpříkaz aktualizuje data ve všech řádcích tabulky. - Nakonec použijte
ORDER BYaLIMITklauzule vUPDATEpříkaz k určení počtu řádků k aktualizaci.
Všimněte si, že pokud použijete zápornou hodnotu v LIMIT klauzule SQLite předpokládá, že neexistuje žádný limit a aktualizuje všechny řádky, které splňují podmínku v předchozím WHERE doložka.
ORDER BY klauzule by měla vždy obsahovat LIMIT klauzule, která přesně určuje, které řádky se mají aktualizovat. Jinak se nikdy nedozvíte, který řádek bude skutečně aktualizován; protože bez ORDER BY klauzule, pořadí řádků v tabulce není specifikováno.
SQLite UPDATE příklady příkazů
Použijeme employees tabulka ve vzorové databázi pro demonstraci UPDATE prohlášení.
Následující SELECT výpis získává částečná data od employees tabulka:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees;Code language: SQL (Structured Query Language) (sql) Zkuste to
1) Aktualizujte příklad jednoho sloupce
Předpokládejme, že se Jane vdala a chtěla si změnit příjmení na manželovo příjmení, tj. Smith . V tomto případě můžete Janeovo příjmení aktualizovat pomocí následujícího prohlášení:
UPDATE employees
SET lastname = 'Smith'
WHERE employeeid = 3;Code language: SQL (Structured Query Language) (sql) Zkuste to
Výraz v WHERE klauzule zajišťuje, že aktualizujeme pouze Janin záznam. Nastavíme lastname sloupec na doslovný řetězec 'Smith' .
Pro ověření UPDATE , použijete následující příkaz:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees
WHERE
employeeid = 3;Code language: SQL (Structured Query Language) (sql) Zkuste to
2) Příklad aktualizace více sloupců
Předpokládejme, že Park Margaret nachází v Toronto a chcete změnit jeho adresu, město a informace o státě. Můžete použít UPDATE příkaz k aktualizaci více sloupců následovně:
UPDATE employees
SET city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7'
WHERE
employeeid = 4;Code language: SQL (Structured Query Language) (sql) Zkuste to
Pro ověření UPDATE , použijete následující příkaz:
SELECT
employeeid,
firstname,
lastname,
state,
city,
PostalCode
FROM
employees
WHERE
employeeid = 4;Code language: SQL (Structured Query Language) (sql) Zkuste to
3) Aktualizujte pomocí ORDER BY a LIMIT příklad vět
Všimněte si, že k provedení UPDATE musíte sestavit SQLite s možností SQLITE_ENABLE_UPDATE_DELETE_LIMIT příkaz s volitelným ORDER BY a LIMIT klauzule.
Pojďme zkontrolovat e-mailové adresy zaměstnanců v employees tabulka:
SELECT
employeeid,
firstname,
lastname,
email
FROM
employees;Code language: SQL (Structured Query Language) (sql) Zkuste to
Chcete-li aktualizovat jeden řádek v employees tabulky, použijete LIMIT 1 doložka. Chcete-li mít jistotu, že aktualizujete první řadu zaměstnanců seřazených podle křestního jména, přidejte ORDER BY firstname doložka.
Takže následující prohlášení 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) Zkuste to
Nový e-mail je kombinací křestního jména, tečky (.), příjmení a přípony @chinookcorp.com
LOWER() funkce převede e-mail na malá písmena.
4) Příklad aktualizace všech řádků
Chcete-li aktualizovat všechny řádky v employees tabulky, přeskočíte WHERE doložka. Například následující UPDATE výpis změní všechny e-mailové adresy všech zaměstnanců na malá písmena:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
);Code language: SQL (Structured Query Language) (sql) Zkuste to
V tomto tutoriálu jste se naučili používat SQLite UPDATE příkaz k aktualizaci existujících dat v tabulce.
Odkazy
- https://www.sqlite.org/lang_update.html – prohlášení o aktualizaci SQLite