Instrukcja ALTER: Modyfikacja tabeli

Instrukcja ALTER TABLE w MySQL pozwala na modyfikację istniejącej tabeli bez konieczności jej usuwania i tworzenia od nowa. Możemy dodawać, usuwać i zmieniać kolumny, a także zarządzać kluczami i indeksami.

Możliwe operacje w ALTER TABLE

✅ Dzięki ALTER TABLE możemy:

  • Dodawać nowe kolumny do tabeli.
  • Usuwać istniejące kolumny.
  • Zmieniać typ danych kolumny.
  • Zmieniać nazwę kolumny.
  • Zmieniać nazwę tabeli.
  • Dodawać i usuwać klucze główne oraz obce.
  • Dodawać i usuwać indeksy.

📌 Dodawanie nowej kolumny

Przykład: Dodanie nowej kolumny telefon do tabeli uzytkownicy

📝 Opis:
  • ADD COLUMN - dodaje nową kolumnę.
  • telefon - nazwa nowej kolumny.
  • VARCHAR(15) - typ danych (do 15 znaków).
  • DEFAULT NULL - jeśli wartość nie zostanie podana, będzie NULL.

📌Usuwanie kolumny

📝 Opis:

  • DROP COLUMN - usuwa kolumnę telefon wraz z jej danymi.

UWAGA: Operacja jest nieodwracalna – dane w kolumnie zostaną utracone!

Przykład
// Dodawanie kolumny
ALTER TABLE uzytkownicy
ADD COLUMN telefon VARCHAR(15) DEFAULT NULL;

// Usuwanie kolumny
ALTER TABLE uzytkownicy
DROP COLUMN telefon;

📌 Zmiana nazwy tabeli

✅ Przykład: Zmiana nazwy tabeli uzytkownicy na klienci

📝 Opis:

  • RENAME TO - zmienia nazwę tabeli na nową.
Przykład
ALTER TABLE uzytkownicy
RENAME TO klienci;

📌 Zmiana typu danych w kolumnie

✅ Przykład: Zmiana typu danych w kolumnie email na TEXT

📝 Opis:

  • MODIFY COLUMN - zmienia typ danych istniejącej kolumny.
  • TEXT - nowy typ danych dla kolumny email.

📌 Zmiana nazwy kolumny

✅ Przykład: Zmiana nazwy kolumny imie na first_name

📝 Opis:

  • CHANGE COLUMN - zmienia nazwę i ewentualnie typ danych kolumny.
  • imie → first_name - nowa nazwa kolumny.
  • VARCHAR(50) - typ danych pozostaje bez zmian.
Przykład
-- Zmiana typu danych w kolumnie
ALTER TABLE uzytkownicy
CHANGE COLUMN imie first_name VARCHAR(50);

-- Zmiana nazwy tabeli
ALTER TABLE uzytkownicy
CHANGE COLUMN imie first_name VARCHAR(50);

📌 Dodawanie klucza głównego (PRIMARY KEY)

✅ Przykład: Dodanie klucza głównego do tabeli zamowienia

📝 Opis:

  • ADD PRIMARY KEY - ustawia id jako klucz główny.

📌 Dodawanie klucza głównego (PRIMARY KEY)

✅ Przykład: Powiązanie uzytkownik_id z tabelą uzytkownicy

📝 Opis:

  • ADD CONSTRAINT - dodaje ograniczenie (fk_uzytkownik).
  • FOREIGN KEY - tworzy klucz obcy powiązany z tabelą uzytkownicy.
  • ON DELETE CASCADE - jeśli użytkownik zostanie usunięty, jego zamówienia także.
Przykład
-- Dodawanie klucza głównego (PRIMARY KEY)
ALTER TABLE zamowienia
ADD PRIMARY KEY (id);

-- Dodawanie klucza obcego (FOREIGN KEY)
ALTER TABLE zamowienia
ADD CONSTRAINT fk_uzytkownik
FOREIGN KEY (uzytkownik_id) REFERENCES uzytkownicy(id)
ON DELETE CASCADE;

Podsumowanie

  • Instrukcja ALTER TABLE pozwala na modyfikację tabel w MySQL.
  • Możemy dodawać, usuwać i zmieniać kolumny.
  • Możemy zmieniać nazwę tabeli.
  • Możemy dodawać klucze główne i obce.
  • Modyfikacje są trwałe i mogą powodować utratę danych (np. DROP COLUMN).