5.1 Instrukcja USUŃ Z

To, co jest łatwe do zrobienia w SQL, to usuwanie danych. Możesz usunąć absolutnie wszystko bardzo szybko i nikt nawet nie poprosi Cię o potwierdzenie.

Zacznijmy od najprostszego scenariusza: jak usunąć jeden wiersz w tabeli .

Z takim scenariuszem spotkasz się najczęściej, zwykle jest to usunięcie konkretnego rekordu, a standardowe zapytanie zwykle wygląda tak:

DELETE FROM table
WHERE id = 133;

To jedyne zapytanie, w którym nie trzeba określać nazw kolumn: w końcu dane są usuwane natychmiast w wierszach.

Drugi scenariusz to usunięcie wierszy określonych przez id list , tutaj również wszystko jest dość proste:

DELETE FROM table
WHERE id IN (1, 2, 3,);

Trzeci scenariusz polega na usunięciu wierszy spełniających określony warunek:

DELETE FROM table
WHERE condition;

Powiedzmy, że chcemy zwolnić wszystkich naszych programistów, wtedy musimy napisać prośbę typu:

DELETE FROM employee
WHERE occupation = 'Programmer';

I na koniec, jeśli chcesz usunąć wszystkie rekordy, możesz napisać zapytanie w następujący sposób:

DELETE FROM table

To proste zapytanie wystarczy, aby usunąć wszystkie rekordy z tabeli. Nawiasem mówiąc, w tym przypadku nie będzie Ctrl + Z. Nagrania są po prostu kasowane bez możliwości odzyskania i tyle. Dlatego częściej twórz kopie zapasowe .

5.2 Usuwanie wszystkiego

Aby szybko usunąć (aby dodać użytkownikom bólu głowy), SQL ma kilka dodatkowych poleceń.

Jak szybko usunąć wszystkie dane z tabeli? Skorzystaj z operatora TRUNCATE :

TRUNCATE TABLE table

Jedna literówka w nazwie tabeli - i masz zapewnione kilka dni odzyskiwania danych. Ciesz się, że nie jesteś administratorem bazy danych.

Jeśli chcesz usunąć nie tylko dane z tabeli, ale także samą tabelę, istnieje do tego operator DROP :

DROP TABLE table

Nawiasem mówiąc, istnieją podobne opcje ze schematami baz danych . Jeśli chcesz usunąć samą bazę danych, to:

DROP SCHEME database

Lub:

DROP DATABASE database

Możesz także użyć DROP, aby usunąć:

  • WYDARZENIE
  • FUNKCJONOWAĆ
  • PROCEDURA
  • INDEKS
  • POGLĄD
  • SPUST

A oto kilka interesujących historii związanych z usuwaniem danych:

Przerwa dnia. GitLab usunął 300 GB danych klienta z powodu błędu sysadmin

sudo rm -rf, czyli Kronika incydentu z bazą danych GitLab.com z 31.01.2017

Dolina Krzemowa „Dolina Krzemowa” – usuwanie danych