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
UPDATE
doložka. - Zadruhé nastavte novou hodnotu pro každý sloupec tabulky v
SET
doložka. - Za třetí, určete řádky, které se mají aktualizovat, pomocí podmínky v
WHERE
doložka.WHERE
doložka je nepovinná. Pokud jej přeskočíte, zobrazí seUPDATE
příkaz aktualizuje data ve všech řádcích tabulky. - Nakonec použijte
ORDER BY
aLIMIT
klauzule vUPDATE
pří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