Working like a Pro¶
Note
Version 1 15.01.2025 10:00
so kann man die Tabelle erstellen plus die Daten einfügen:
USE winemag;
CREATE TABLE IF NOT EXISTS winemag.tastedata (
id INT PRIMARY KEY,
country TEXT,
description1 TEXT,
designation TEXT,
points INT,
price DECIMAL(10,2),
province TEXT,
region_1 TEXT,
region_2 TEXT,
taster_name TEXT,
taster_twitter_handle TEXT,
title TEXT,
variety TEXT,
winery TEXT
);
-- unten sehen sie wie man die Daten mit Code in die Datenbank einführt
LOAD DATA LOCAL INFILE
'C:/sql/Bulkimport/winemag_130k.csv' -- Pfad, auf ihr System anpassen
INTO TABLE winemag.tastedata -- Ziel
FIELDS TERMINATED BY ',' -- Einstellung Trennzeichen
ENCLOSED BY '"' -- Zeichenketten können in Anführungszeichen stecken
LINES TERMINATED BY '\n' -- Einstellung für üblichen Zeilentrenner
IGNORE 1 LINES; -- Erste Zeile enthält nur Attributnamen, keine Werte
Hier der abgeschlossene Import:
unten beim Bild oben sehen sie die Warnings die dadurch entstehen das bei dem Attribut price bei einigen Einträgen der Preis fehlt
und hier die Tabellen die erstellt wurden:
BBBB¶
Bubs’ Bigtime Baby Booties¶
Kunden (customers: first name, last name, email)
Mitarbeiter (employees first name, last name, start date, position held)
Produkte (products)
Einkäufe (purchases)
dummy daten einfügen:
-- Datenbank auswählen
USE BBB;
-- Dummy-Daten für Kunden
INSERT INTO Kunden (kunden_id, vorname, nachname, email, telefon, adresse) VALUES
(1, 'Max', 'Mustermann', 'max.mustermann@example.com', '0123456789', 'Musterstraße 1, 8000 Zürich'),
(2, 'Anna', 'Meier', 'anna.meier@example.com', '0987654321', 'Bahnhofstraße 5, 9000 St. Gallen'),
(3, 'Lukas', 'Schneider', 'lukas.schneider@example.com', '0567891234', 'Seestraße 12, 4057 Basel'),
(4, 'Laura', 'Huber', 'laura.huber@example.com', '0441234567', 'Hauptstraße 23, 3000 Bern'),
(5, 'Peter', 'Fischer', 'peter.fischer@example.com', '0789012345', 'Ringstraße 7, 1000 Lausanne');
-- Dummy-Daten für Mitarbeiter
INSERT INTO Mitarbeiter (mitarbeiter_id, vorname, nachname, einstellungsdatum, position, abteilung) VALUES
(1, 'Sandra', 'Keller', '2020-01-15', 'Verkäuferin', 'Vertrieb'),
(2, 'Michael', 'Maurer', '2019-07-01', 'Lagerist', 'Logistik'),
(3, 'Claudia', 'Baumann', '2021-05-20', 'Kundenberaterin', 'Kundenservice'),
(4, 'Thomas', 'Weber', '2018-10-10', 'Filialleiter', 'Management'),
(5, 'Julia', 'Zimmermann', '2022-03-12', 'Aushilfe', 'Vertrieb');
-- Dummy-Daten für Produkte
INSERT INTO Produkte (produkt_id, produktname, preis, lagerbestand) VALUES
(1, 'Laptop', 999.99, 50),
(2, 'Smartphone', 699.99, 100),
(3, 'Kopfhörer', 49.99, 200),
(4, 'Monitor', 199.99, 30),
(5, 'Tastatur', 29.99, 150);
-- Dummy-Daten für Einkäufe
INSERT INTO Einkäufe (einkauf_id, kunden_id, produkt_id, mitarbeiter_id, kaufdatum, menge, gesamtpreis) VALUES
(1, 1, 1, 1, '2023-01-10', 1, 999.99),
(2, 2, 2, 3, '2023-02-15', 2, 1399.98),
(3, 3, 3, 2, '2023-03-20', 1, 49.99),
(4, 4, 4, 4, '2023-04-25', 2, 399.98),
(5, 5, 5, 5, '2023-05-30', 3, 89.97);
benutzerrollen erstellen:
CREATE USER 'Tom'@'localhost' IDENTIFIED BY 'passwort1';
GRANT ALL PRIVILEGES ON *.* TO 'Tom'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
CREATE USER 'Philipp'@'localhost' IDENTIFIED BY 'passwort2';
GRANT SELECT ON bubsbooties.* TO 'Philipp'@'localhost';
FLUSH PRIVILEGES;
wir haben die Namen ein bisschen geändert

