Vytvoří odstraňovací dotaz, který odebere záznamy z jedné nebo více tabulek uvedených v klauzuli FROM, které splňují 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érium: | Výraz, který určuje, které záznamy se mají odstranit. |
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é.
Pomocí příkazu DELETE můžete odebrat záznamy z tabulek, které jsou v relaci 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 určitém poli, vytvořte aktualizační dotaz, který změní hodnoty na hodnotu Null.
Důležité
- Jakmile odeberete záznamy pomocí odstraňovacího dotazu, tuto operaci nepůjde vrátit zpět. Pokud chcete zjistit, které záznamy byly odstraněny, nejprve zkontrolujte výsledky výběrového dotazu, který používá 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í.