sql >> Databáze >  >> RDS >> SQLite

Aktualizace SQLite

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í se UPDATE příkaz aktualizuje data ve všech řádcích tabulky.
  • Nakonec použijte ORDER BY a LIMIT klauzule v UPDATE 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

  1. Jak získat kumulativní součet

  2. Soubory DSN a software IRI

  3. Jak povolím MSDTC na SQL Server?

  4. Vyrovnávání zátěže s ProxySQL pro Percona XtraDB Cluster