Shrnutí: v tomto tutoriálu, se dozvíte, jak používat SQL Server DELETE
prohlášení odstranit jeden nebo více řádků z tabulky.
Úvod do SQL Server DELETE
odstranit jeden nebo více řádků z tabulky zcela, můžete použít DELETE
prohlášení. Následující ilustruje jeho syntaxi:
Code language: SQL (Structured Query Language) (sql)
nejprve zadáte název tabulky, ze které mají být řádky odstraněny v klauzuli FROM
.,
například, následující příkaz odstraní všechny řádky z target_table
:
Code language: SQL (Structured Query Language) (sql)
za Druhé, určit počet nebo procento náhodných řádků, které budou odstraněny, můžete použít TOP
klauzule.
například, následující DELETE
prohlášení odstraňuje 10 náhodné řádky z target_table
:
Code language: SQL (Structured Query Language) (sql)
Protože tabulka ukládá řádky v blíže neurčené pořadí, nebudeme vědět, které řádky budou odstraněny, ale víme jistě, že počet řádků, které budou smazány, je 10.,
Podobně můžete odstranit 10 procent náhodné řádky pomocí následující DELETE
prohlášení:
Code language: SQL (Structured Query Language) (sql)
za Třetí, prakticky řečeno, málokdy se vám podaří odstranit všechny řádky z tabulky, ale pouze jeden nebo několik řádků. V takovém případě musíte zadat search_condition
v klauzuli WHERE
, abyste omezili počet odstraněných řádků.
řádky, které způsobujísearch_condition
vyhodnocuje true, budou smazány.
klauzuleWHERE
je volitelná., Pokud jej přeskočíte ,příkazDELETE
odstraní všechny řádky z tabulky.
SQL Server DELETE statement examples
Pojďme vytvořit novou tabulku pro demonstraci.
následující příkaz vytvoří tabulku s názvem production.product_history
s tím, že údaje zkopírované z production.products
tabulky:
Code language: SQL (Structured Query Language) (sql)
následující dotaz vrátí všechny řádky z product_history
tabulka:
Code language: SQL (Structured Query Language) (sql)
Jak může být jasně vidět na výstupu, máme 321 řádků celkem.,
1) Nehodící se počet náhodných řádků příklad:
následující DELETE
prohlášení odstraňuje 21 náhodné řádky z product_history
tabulky:
Code language: SQL (Structured Query Language) (sql)
Zde je zpráva vydané SQL Server:
Code language: SQL (Structured Query Language) (sql)
To znamená, že 21 řádky byly odstraněny.,
2) Odstranit procent náhodných řádků příklad:
následující DELETE
prohlášení odstraňuje 5 procent náhodné řádky z product_history
tabulky:
Code language: SQL (Structured Query Language) (sql)
SQL Server vydal následující zprávu oznamující, že 15 řádků (300 x 5% = 15) byly odstraněny.,h3>3) Odstranit některé řádky s podmínkou příklad
následující DELETE
prohlášení odstraní všechny výrobky, jejichž modelový rok 2017 je:
Code language: SQL (Structured Query Language) (sql)
Zde je výstupní signál:
Code language: SQL (Structured Query Language) (sql)
4) Odstranit všechny řádky z tabulky příklad:
následující DELETE
prohlášení odstraní všechny řádky z product_history
tabulky:
Code language: SQL (Structured Query Language) (sql)
Všimněte si, že pokud chcete odstranit všechny řádky z velkého stolu, měli byste použít TRUNCATE TABLE
prohlášení, které je rychlejší a efektivnější.,
V tomto kurzu jste se naučili, jak používat SQL Server DELETE
prohlášení odstranit jeden nebo více řádků z tabulky.