Ćwiczenia SQL – Modyfikacja struktury bazy danych

1. Tworzenie bazy danych i tabel

Utwórz bazę danych sklep oraz tabele: klienci, produkty i zamowienia.

CREATE DATABASE sklep;
USE sklep;

CREATE TABLE klienci (
    id INT AUTO_INCREMENT PRIMARY KEY,
    imie VARCHAR(50),
    nazwisko VARCHAR(50)
);

CREATE TABLE produkty (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nazwa VARCHAR(100),
    cena DECIMAL(10,2)
);

CREATE TABLE zamowienia (
    id INT AUTO_INCREMENT PRIMARY KEY,
    klient_id INT,
    produkt_id INT,
    data_zamowienia DATE,
    FOREIGN KEY (klient_id) REFERENCES klienci(id),
    FOREIGN KEY (produkt_id) REFERENCES produkty(id)
);

2. Analiza struktury

Wyświetl strukturę tabeli klienci oraz relacje w tabeli zamowienia.

DESCRIBE klienci;

SELECT * FROM information_schema.KEY_COLUMN_USAGE 
WHERE TABLE_NAME = 'zamowienia' AND TABLE_SCHEMA = 'sklep';

3. Rozbudowa bazy danych

Dodaj kolumnę email do tabeli klienci oraz tabelę dostawy.

ALTER TABLE klienci ADD email VARCHAR(100);

CREATE TABLE dostawy (
    id INT AUTO_INCREMENT PRIMARY KEY,
    zamowienie_id INT,
    data_dostawy DATE,
    FOREIGN KEY (zamowienie_id) REFERENCES zamowienia(id)
);

4. Usuwanie elementów

Usuń kolumnę cena z tabeli produkty oraz tabelę dostawy.

ALTER TABLE produkty DROP COLUMN cena;

DROP TABLE dostawy;

5. Modyfikowanie struktury i danych

Zmień nazwę kolumny imie na imie_klienta i zaktualizuj dane klienta o ID 1.

ALTER TABLE klienci CHANGE imie imie_klienta VARCHAR(50);

UPDATE klienci 
SET email = 'jan.kowalski@example.com' 
WHERE id = 1;