CREATE DATABASE sklep;
USE sklep;
CREATE TABLE klienci (
id INT AUTO_INCREMENT PRIMARY KEY,
imie VARCHAR(50),
nazwisko VARCHAR(50),
email VARCHAR(100)
);
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)
);
DESCRIBE klienci;
SELECT * FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'zamowienia' AND TABLE_SCHEMA = 'sklep';
ALTER TABLE klienci ADD telefon VARCHAR(15);
CREATE TABLE kategorie (
id INT AUTO_INCREMENT PRIMARY KEY,
nazwa VARCHAR(50)
);
ALTER TABLE produkty ADD kategoria_id INT;
ALTER TABLE produkty
ADD CONSTRAINT fk_kategoria
FOREIGN KEY (kategoria_id) REFERENCES kategorie(id);
ALTER TABLE klienci DROP COLUMN telefon;
ALTER TABLE produkty DROP FOREIGN KEY fk_kategoria;
ALTER TABLE produkty DROP COLUMN kategoria_id;
DROP TABLE kategorie;
ALTER TABLE klienci CHANGE imie imie_klienta VARCHAR(50);
ALTER TABLE produkty MODIFY cena FLOAT;
RENAME TABLE produkty TO asortyment;
RENAME TABLE asortyment TO produkty;
UPDATE klienci SET email = 'jan@example.com' WHERE id = 1;
ALTER TABLE zamowienia
ADD status VARCHAR(20) DEFAULT 'oczekujące';
ALTER TABLE klienci MODIFY nazwisko VARCHAR(80);
CREATE TABLE pracownicy (
id INT AUTO_INCREMENT PRIMARY KEY,
imie VARCHAR(50),
stanowisko VARCHAR(50),
pensja DECIMAL(8,2)
);
DROP TABLE pracownicy;
ALTER TABLE klienci ADD UNIQUE (email);
CREATE INDEX idx_data ON zamowienia(data_zamowienia);
DROP INDEX idx_data ON zamowienia;
ALTER TABLE klienci CHANGE nazwisko nazwisko_klienta VARCHAR(80);
Stwórz tabelę z ocenami klientów do produktów. Połącz ją relacjami z tabelami klienci
i produkty
.
CREATE TABLE opinie (
id INT AUTO_INCREMENT PRIMARY KEY,
klient_id INT,
produkt_id INT,
ocena INT,
komentarz TEXT,
FOREIGN KEY (klient_id) REFERENCES klienci(id),
FOREIGN KEY (produkt_id) REFERENCES produkty(id)
);