Bazy danych | Język SQL - Modyfikacja · Technik informatyk egzamin zawodowy

Programowanie / Bazy danych

Bazy danych | Język SQL - Modyfikacja

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;