Usuwanie wierszy jest ważnym aspektem zarządzania danymi w bazie danych i pozwala na usuwanie niepotrzebnych lub przestarzałych danych. Oto ogólna składnia klauzuli DELETE w SQL Server:

DELETE FROM table_name
WHERE condition;

Przykład:

DELETE FROM customers
WHERE customer_id = 123;

Ten przykład usuwa klienta o identyfikatorze "123" z tabeli "customers".

Klauzula DELETE może być używana na różne sposoby, w tym:

  1. Usunięcie pojedynczego wiersza: Możesz użyć DELETE do usunięcia pojedynczego wiersza z tabeli na podstawie określonego warunku.

  2. Usunięcie wielu wierszy na raz: Klauzula DELETE może usunąć wiele wierszy naraz, jeśli warunek spełniony jest przez więcej niż jeden wiersz.

    DELETE FROM products
    WHERE category_id = 5;
    

    Ten przykład usuwa wszystkie produkty z kategorii o identyfikatorze "5".

  3. Usunięcie wszystkich wierszy z tabeli: Jeśli pominiemy klauzulę WHERE, DELETE usunie wszystkie wiersze z tabeli, powodując opróżnienie tabeli.

    DELETE FROM orders;
    

    To usunie wszystkie zamówienia z tabeli "orders".

  4. Usunięcie wierszy na podstawie wyników innego zapytania: Klauzula DELETE może być łączona z innymi zapytaniami, takimi jak SELECT, aby usuwać dane na podstawie wyników innych zapytań.

    DELETE FROM employees
    WHERE employee_id IN (SELECT employee_id FROM terminated_employees);
    

    Ten przykład usuwa pracowników, których identyfikatory występują w wynikach zapytania "SELECT" z tabeli "terminated_employees".

Warto zaznaczyć, że operacja DELETE jest potencjalnie nieodwracalna, dlatego należy być bardzo ostrożnym przy jej użyciu i upewnić się, że usuwane dane są naprawdę niepotrzebne lub przestarzałe.

Materiały

How To Delete Data from the Table with SQL Script | Microsoft SQL Server 2017 for Everyone

DELETE (Transact-SQL) - SQL Server

SQL DELETE Statement Examples and Coding Best Practices