Vytvoří Odstraňovací dotaz, který odstraní záznamy z jedné nebo několika tabulek uvedených v klauzuli FROM, které vyhovují klauzuli WHERE.
Syntaxe
DELETE [tabulka.*]
Tabulka
FROM
Kritéria WHERE
Příkaz DELETE se skládá z těchto částí:
Část |
Popis |
tabulka |
Volitelný název tabulky, ze které chcete odstranit záznamy. |
tabulka |
Název tabulky, ze které chcete odstranit záznamy. |
kritéria |
Výraz, který určuje, které záznamy se odstraní. |
Poznámky
Příkaz DELETE je velice užitečný v případě, že chcete odstranit velký počet záznamů.
Pokud chcete z databáze vypustit celou tabulku, můžete použít metodu Execute s příkazem DROP. Pokud však tabulku odstraníte, dojde ke ztrátě struktury. Naproti tomu při použití příkazu DELETE se odstraní pouze data. Struktura tabulky a všechny vlastnosti tabulky, jako jsou atributy polí a indexy, zůstanou nedotčené.
Příkaz DELETE můžete použít k odebrání záznamů z tabulek, které jsou v Relace 1:N s jinými tabulkami. Kaskádové operace odstranění způsobí odstranění záznamů v tabulkách, které jsou na straně N relace, když je v dotazu odstraněn odpovídající záznam na jedné straně relace. Například v relaci mezi tabulkami Customers (Zákazníci) a Orders (Objednávky) je tabulka Customers (Zákazníci) na jedné straně a tabulka Orders (Objednávky) je na straně N relace. Odstranění záznamu ze služby Customers způsobí odstranění odpovídajících záznamů Orders, pokud je zadána možnost kaskádového odstranění.
Odstraňovací dotaz odstraní celé záznamy, ne jen data v konkrétních polích. Pokud chcete odstranit hodnoty v konkrétním poli, vytvořte Aktualizační dotaz, který je změní na hodnotu null.
Důležité informace:
-
Jakmile odeberete záznamy pomocí odstraňovacího dotazu, tuto operaci nepůjde vrátit zpět. Pokud chcete zjistit, které záznamy se odstranily, nejdřív zkontrolujte výsledky, které vrátil Výběrový dotaz používající stejná kritéria, a pak spusťte odstraňovací dotaz.
-
Vždy mějte záložní kopie dat. Pokud některé záznamy omylem odstraníte, můžete je obnovit ze záložních kopií.