Lekcja 23: Modyfikacja i usuwanie tabel - ALTER TABLE i DROP TABLE

Preview Mode

You're viewing this material in preview mode. Sign up to track your progress and access all features.

Lekcja 23: Modyfikacja i usuwanie tabel - ALTER TABLE i DROP TABLE
Required In Progress

Modyfikowanie istniejącej tabeli (ALTER TABLE)

Co jeśli tabela już istnieje, a chcemy zmienić jej strukturę (np. dodać kolumnę)? Do tego służy polecenie DDL ALTER TABLE. Materiał wykorzystany poniżej pochodzi z lekcji dotyczącej modyfikacji i usuwania tabel.

Dodawanie kolumny (ADD COLUMN)

Służy do dodawania nowej kolumny do tabeli, która już zawiera dane.

Składnia:

ALTER TABLE Uczniowie ADD COLUMN DataUrodzenia DATE NULL;

Dobra praktyka: nowe kolumny domyślnie powinny pozwalać na NULL, inaczej baza może mieć problem z uzupełnieniem wartości dla wielu istniejących wierszy.

Modyfikowanie kolumny (MODIFY / ALTER COLUMN)

Służy do zmiany definicji istniejącej kolumny (np. typu danych lub ograniczeń).

Uwaga: składnia różni się między dialektami SQL (np. MODIFY COLUMN w MySQL vs ALTER COLUMN w PostgreSQL i SQL Server).

Składnia (koncepcyjna, dla SQL Server / PostgreSQL):

ALTER TABLE Uczniowie ALTER COLUMN Imie VARCHAR(150) NOT NULL;

Przykład: zmiana maksymalnej długości z 100 na 150 znaków.

Usuwanie kolumny (DROP COLUMN)

Usuwa kolumnę z tabeli — powoduje trwałą utratę wszystkich danych, które ta kolumna zawierała.

Składnia:

ALTER TABLE Uczniowie DROP COLUMN DataUrodzenia;

Usuwanie całej tabeli (DROP TABLE)

DROP TABLE to polecenie DDL, które całkowicie i bezpowrotnie usuwa tabelę z bazy danych — zarówno jej strukturę (definicję), jak i wszystkie zawarte w niej dane.

Składnia:

DROP TABLE Uczniowie;

Kluczowa różnica: DELETE vs DROP

  • DELETE FROM Uczniowie; (DML) — usuwa dane (wiersze), ale tabela i jej struktura nadal istnieją. Jeśli operacja była wykonywana w ramach transakcji, można ją wycofać (ROLLBACK).
  • DROP TABLE Uczniowie; (DDL) — usuwa zarówno dane, jak i strukturę tabeli. Tabela znika z bazy danych i operacji tej zwykle nie można cofnąć standardowym ROLLBACK; jest to operacja ostateczna.

Uwaga praktyczna: przed wykonaniem operacji DROP warto upewnić się, że mamy kopię zapasową danych, a operacje usuwania danych (DELETE) wykonywać ostrożnie — najlepiej w transakcjach, aby móc użyć ROLLBACK w razie potrzeby.