Modyfikacja struktury bazy danych w SQL pozwala na dostosowanie jej do zmieniających się wymagań. Możemy dodawać i usuwać kolumny, zmieniać typy danych, edytować nazwy tabel i kolumn, a także zarządzać kodowaniem znaków. W tej sekcji omówimy wszystkie te operacje na przykładach.
Dodawanie kolumn do tabeli
Aby dodać pojedynczą kolumnę do istniejącej tabeli, używamy ALTER TABLE
z opcją ADD
:
ALTER TABLE pasazer ADD wiek INT;
Możemy również dodać kilka kolumn jednocześnie:
ALTER TABLE pasazer
ADD (
wiek INT,
plec VARCHAR(1)
);
Modyfikacja istniejących kolumn
Zmiana typu danych dla istniejącej kolumny odbywa się poprzez MODIFY
:
ALTER TABLE pasazer MODIFY plec VARCHAR(10) NOT NULL;
Usuwanie kolumn
Jeśli dana kolumna nie jest już potrzebna, możemy ją usunąć za pomocą DROP COLUMN
:
ALTER TABLE pasazer DROP COLUMN wiek;
Zmiana nazwy kolumny
Aby zmienić nazwę kolumny, używamy CHANGE
:
ALTER TABLE pasazer CHANGE wiek ilelat INT;
Zmiana nazwy tabeli
Jeśli chcemy zmienić nazwę tabeli, korzystamy z RENAME
:
ALTER TABLE pasazer RENAME TO pasazerowie;
Zmiana kodowania znaków bazy i tabel
Zmiana kodowania znaków jest istotna dla poprawnej obsługi języków narodowych. Możemy ustawić kodowanie na poziomie bazy danych:
ALTER DATABASE rezerwacje_lotnicze CHARACTER SET utf8 COLLATE utf8_general_ci;
Lub na poziomie poszczególnych tabel:
ALTER TABLE adres CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE adres CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE pasazer CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE pasazer CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE rezerwacja CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE rezerwacja CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Usuwanie tabel i baz danych
Jeśli tabela nie jest już potrzebna, możemy ją usunąć za pomocą DROP TABLE
:
DROP TABLE samolot;
Natomiast, aby usunąć całą bazę danych:
DROP DATABASE rezerwacje_lotnicze;