Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Usuwanie tabeli

Termin Definicja
Usuwanie tabeli

Usuwanie tabeli poleceniem DROP TABLE trwale kasuje jej strukturę i wszystkie przechowywane w niej dane.

Co oznacza polecenie DROP TABLE

DROP TABLE jest poleceniem języka SQL służącym do usunięcia tabeli z bazy danych. Operacja usuwa nie tylko wiersze, lecz także definicję tabeli: nazwę obiektu, kolumny, typy danych, ograniczenia, klucze oraz inne elementy zapisane jako część jej struktury. Po poprawnym wykonaniu polecenia tabela nie jest już dostępna pod dotychczasową nazwą.

Typowa postać instrukcji wygląda następująco: DROP TABLE nazwa_tabeli;. Nazwę należy podać dokładnie zgodnie z regułami obowiązującymi w używanym silniku bazy danych. Jeżeli tabela znajduje się w określonym schemacie, stosuje się zwykle zapis kwalifikowany, na przykład DROP TABLE magazyn.produkty;. Składnia dotycząca nazw schematów, cudzysłowów, ochrony przed przypadkowym usunięciem oraz obsługi zależności może różnić się między SQL Server, PostgreSQL, MySQL, Oracle i innymi systemami, dlatego nie należy przenosić rozszerzeń jednego silnika do drugiego bez sprawdzenia dokumentacji.

Skutki usunięcia struktury i danych

Usunięcie tabeli powoduje utratę dostępu do wszystkich przechowywanych w niej rekordów za pośrednictwem tego obiektu. Znikają również informacje opisujące tabelę, takie jak lista kolumn, ich typy, wartości domyślne, ograniczenia NOT NULL, klucze główne i indeksy należące do tabeli. W praktyce nie jest to odpowiednik usunięcia pojedynczego rekordu ani wyczyszczenia zawartości przy zachowaniu pustej tabeli.

Po DROP TABLE zapytania odwołujące się do usuniętego obiektu mogą przestać działać. Dotyczy to między innymi aplikacji, procedur, widoków, zapytań zapisanych w raportach oraz skryptów automatyzujących pracę z bazą. Jeżeli inne tabele mają klucze obce wskazujące na usuwaną tabelę, silnik może odmówić wykonania operacji albo wymagać wcześniejszego usunięcia lub zmiany tych zależności. Niektóre systemy udostępniają opcje kaskadowego usuwania zależnych obiektów, takie jak CASCADE, lecz ich działanie i zakres są zależne od konkretnego produktu. Opcji tej nie powinno się używać bez sprawdzenia pełnej listy obiektów zależnych.

Weryfikacja przed wykonaniem polecenia

Przed usunięciem tabeli trzeba ustalić, czy wskazana nazwa odnosi się do właściwego obiektu i właściwej bazy. Pomocne jest odczytanie metadanych tabeli, sprawdzenie schematu, listy kolumn oraz przykładowych rekordów. W środowisku zawierającym dane produkcyjne należy również zweryfikować, czy tabela nie jest używana przez aplikację, zadanie cykliczne, raport lub proces importu. Sam fakt, że tabela wygląda na nieużywaną, nie potwierdza jeszcze braku zależności.

Bezpieczna procedura obejmuje wykonanie kopii zapasowej albo wyeksportowanie danych przed zmianą. Warto zapisać także definicję tabeli i informacje o ograniczeniach, ponieważ sama kopia rekordów może nie wystarczyć do odtworzenia obiektu. Uprawnienia do usuwania tabel są zwykle ograniczone do właściciela obiektu, administratora lub użytkownika posiadającego odpowiednie uprawnienia DDL. Próba wykonania polecenia bez wymaganych praw kończy się błędem autoryzacji i nie powinna zmieniać danych.

W zależności od silnika i konfiguracji polecenie może być objęte transakcją, zatwierdzane automatycznie albo zachowywać się odmiennie w odniesieniu do metadanych i zależności. Nie wolno więc zakładać, że każde wykonanie sekwencji BEGIN, DROP TABLE i ROLLBACK przywróci tabelę w każdym systemie. Przed próbą odwrócenia operacji należy sprawdzić dokumentację używanego silnika oraz sposób obsługi transakcji DDL.

Odtwarzanie po przypadkowym usunięciu tabeli

Jeżeli tabela została usunięta omyłkowo, podstawą odzyskania danych jest dostępna kopia zapasowa, eksport albo mechanizm odtwarzania do określonego momentu. Samo ponowne wykonanie instrukcji CREATE TABLE nie odzyskuje wcześniejszych rekordów. Nowo utworzona tabela będzie pustym obiektem, chyba że dane zostaną osobno zaimportowane lub odtworzone z kopii. Trzeba również odtworzyć indeksy, ograniczenia, klucze i uprawnienia, jeśli nie zostały zapisane w skrypcie lub kopii struktury.

Przy przywracaniu należy zweryfikować zgodność schematu z aplikacją. Zmiana kolejności kolumn zwykle nie ma znaczenia dla zapytań wskazujących kolumny jawnie, ale brak kolumny, inny typ danych albo pominięty klucz może powodować błędy i niespójność. Po odtworzeniu warto wykonać kontrolne zapytania, sprawdzić liczbę rekordów, zależności oraz działanie procesów korzystających z tabeli. Usuwanie tabeli powinno być traktowane jako nieodwracalna zmiana administracyjna, wymagająca jednoznacznej identyfikacji obiektu i potwierdzonej procedury odzyskiwania.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę