1. Wprowadzenie
W poprzednich lekcjach omówiliśmy dwa kluczowe polecenia języka SQL w MySQL:
- CREATE TABLE – pozwala na tworzenie nowych tabel w bazie danych.
- ALTER TABLE – umożliwia modyfikowanie istniejących tabel, np. dodawanie, usuwanie lub zmienianie kolumn oraz kluczy.
Dzisiaj powtórzymy te zagadnienia, aby utrwalić wiedzę i zwiększyć pewność w pracy z bazami danych.
2. Przypomnienie CREATE TABLE
Polecenie CREATE TABLE służy do definiowania struktury tabeli. Obejmuje ono:
- Nazwę tabeli
- Nazwy kolumn i ich typy danych
- Klucze główne i obce
- Ograniczenia (np. NOT NULL, UNIQUE, DEFAULT)
Przykład: Tworzenie tabeli z kluczem głównym i obcym
CREATE TABLE klienci (
id INT AUTO_INCREMENT PRIMARY KEY,
imie VARCHAR(50) NOT NULL,
nazwisko VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
data_rejestracji DATE DEFAULT CURRENT_DATE
);
CREATE TABLE zamowienia (
id INT AUTO_INCREMENT PRIMARY KEY,
id_klienta INT NOT NULL,
kwota DECIMAL(10,2) NOT NULL,
data_zamowienia DATE DEFAULT CURRENT_DATE,
FOREIGN KEY (id_klienta) REFERENCES klienci(id) ON DELETE CASCADE
);
Powyższy kod tworzy tabelę klienci i zamowienia, gdzie id_klienta
w tabeli zamowienia jest kluczem obcym odnoszącym się do id
w tabeli klienci.
3. Przypomnienie ALTER TABLE
Polecenie ALTER TABLE służy do modyfikowania istniejących tabel, np.:
- Dodawania nowych kolumn
- Zmiany typu danych w kolumnach
- Usuwania kolumn
- Dodawania lub usuwania kluczy
Przykłady: Modyfikacja tabeli
Dodanie nowej kolumny:
ALTER TABLE klienci ADD telefon VARCHAR(20);
Zmiana typu danych kolumny:
ALTER TABLE klienci MODIFY telefon VARCHAR(15);
Zmiana nazwy kolumny:
ALTER TABLE klienci CHANGE telefon numer_telefonu VARCHAR(15);
Usunięcie kolumny:
ALTER TABLE klienci DROP COLUMN numer_telefonu;
Dodanie klucza obcego po utworzeniu tabeli:
ALTER TABLE zamowienia ADD CONSTRAINT fk_klient
FOREIGN KEY (id_klienta) REFERENCES klienci(id);
4. Ćwiczenia
Ćwiczenie 1:
Stwórz tabelę produkty, która zawiera kolumny:
id
(klucz główny, autoinkrementacja)nazwa
(tekst, maks. 100 znaków, nie może być puste)cena
(wartość dziesiętna do dwóch miejsc po przecinku)ilosc_w_magazynie
(liczba całkowita, domyślnie 0)
Ćwiczenie 2:
Stwórz tabelę dostawcy, która zawiera kolumny:
id
(klucz główny, autoinkrementacja)nazwa
(tekst, maks. 100 znaków, unikalna)adres
(tekst, maks. 255 znaków)telefon
(tekst, 15 znaków)
Ćwiczenie 3:
Dodaj do tabeli produkty kolumnę id_dostawcy
, która będzie kluczem obcym odnoszącym się do id
w tabeli dostawcy.
Ćwiczenie 4:
Zmień nazwę kolumny telefon
w tabeli dostawcy na numer_kontaktowy
.
Ćwiczenie 5:
Zmień typ danych kolumny cena
w tabeli produkty, aby miała większą precyzję (np. DECIMAL(12,2)).
Ćwiczenie 6:
Usuń kolumnę ilosc_w_magazynie
z tabeli produkty.
Ćwiczenie 7:
Dodaj nową kolumnę data_dostawy
do tabeli dostawcy, która będzie przechowywać datę dostawy i domyślnie będzie miała wartość bieżącej daty.
Ćwiczenie 8:
Stwórz tabelę klienci i dodaj do niej co najmniej 5 kolumn, w tym klucz główny i kolumnę unikalną.
Ćwiczenie 9:
Dodaj do tabeli klienci klucz obcy odnoszący się do tabeli zamowienia i sprawdź, czy relacja działa poprawnie.
Ćwiczenie 10:
Usuń klucz obcy id_klienta
z tabeli zamowienia, a następnie dodaj go ponownie z regułą ON DELETE SET NULL
.
5. Podsumowanie
Dzisiejsza lekcja powtórzeniowa pozwoliła utrwalić podstawy tworzenia i modyfikowania tabel w MySQL. Dzięki ćwiczeniom uczniowie przećwiczą różne aspekty pracy z CREATE TABLE oraz ALTER TABLE, w tym dodawanie i usuwanie kolumn, zmienianie nazw, klucze obce i ograniczenia.