Dzisiejsza lekcja skupia się na podstawowych operacjach modyfikowania danych w bazach SQL: tworzeniu nowych tabel (CREATE), wstawianiu nowych rekordów (INSERT), aktualizowaniu istniejących danych (UPDATE) i usuwaniu rekordów (DELETE). Nauczysz się, jak używać tych poleceń do manipulowania danymi w sposób efektywny i bezpieczny.
Polecenie CREATE TABLE
służy do definiowania nowych tabel w bazie danych. Musisz określić nazwę tabeli oraz kolumny, ich typy danych i ewentualnie ograniczenia (np. klucze główne).
Przykład: Załóżmy, że chcemy stworzyć tabelę 'klienci' z kolumnami 'id_klienta' (numer klienta), 'imie' (imię), 'nazwisko' (nazwisko) i 'email'.
CREATE TABLE klienci (
id_klienta INT PRIMARY KEY,
imie VARCHAR(50),
nazwisko VARCHAR(50),
email VARCHAR(100)
);
INT
- typ danych dla liczb całkowitych.VARCHAR(50)
- typ danych dla ciągów znaków o długości do 50 znaków.PRIMARY KEY
- określa kolumnę jako klucz główny, który jednoznacznie identyfikuje każdy rekord.Ćwiczenie: Zastanów się, jakie kolumny mogłaby zawierać tabela przechowująca informacje o produktach w sklepie internetowym. Spróbuj zdefiniować taką tabelę w SQL.
Polecenie INSERT
służy do dodawania nowych rekordów do tabeli. Musisz określić nazwę tabeli oraz wartości dla poszczególnych kolumn.
Przykład: Wstawmy do tabeli 'klienci' nowego klienta:
INSERT INTO klienci (id_klienta, imie, nazwisko, email)
VALUES (1, 'Jan', 'Kowalski', 'jan.kowalski@example.com');
INSERT INTO
- polecenie wstawiania.VALUES
- wartości, które mają zostać wstawione.Możesz wstawiać dane tylko do niektórych kolumn:
INSERT INTO klienci (id_klienta, imie, nazwisko)
VALUES (2, 'Anna', 'Nowak');
W tym przypadku, kolumna 'email' otrzyma wartość NULL
.
Polecenie UPDATE
służy do modyfikowania istniejących rekordów w tabeli. Musisz określić nazwę tabeli, kolumny, które chcesz zmodyfikować, oraz warunek (WHERE
), który określa, które rekordy mają zostać zaktualizowane. Pamiętaj o użyciu WHERE
– inaczej zaktualizujesz wszystkie rekordy w tabeli!
Przykład: Zmieńmy email Jana Kowalskiego:
UPDATE klienci
SET email = 'jan.kowalski.nowy@example.com'
WHERE id_klienta = 1;
SET
- określa kolumny i nowe wartości.WHERE
- warunek, który musi być spełniony, aby rekord został zaktualizowany. Użycie WHERE
jest kluczowe!Polecenie DELETE
służy do usuwania rekordów z tabeli. Podobnie jak w przypadku UPDATE
, użyj WHERE
aby określić, które rekordy mają zostać usunięte. Bez WHERE
, usuniesz wszystkie rekordy z tabeli (co może być katastrofalne!).
Przykład: Usuńmy klienta o id_klienta 1:
DELETE FROM klienci
WHERE id_klienta = 1;
DELETE FROM
- polecenie usuwania.WHERE
- warunek, który musi być spełniony, aby rekord został usunięty.Explore advanced insights, examples, and bonus exercises to deepen understanding.
Świetnie! Dzisiaj kontynuujemy naszą podróż po fascynującym świecie baz danych i SQL, zgłębiając temat modyfikacji danych. Pamiętamy, że poprzednio omówiliśmy podstawowe operacje: CREATE
, INSERT
, UPDATE
i DELETE
. Teraz zagłębimy się nieco bardziej, rozważając aspekty, które pozwolą Wam na jeszcze lepsze zrozumienie i efektywne wykorzystanie tych potężnych narzędzi.
Zanim przejdziemy do ćwiczeń, warto zgłębić kilka bardziej zaawansowanych aspektów.
NOT NULL
, UNIQUE
, PRIMARY KEY
, FOREIGN KEY
. Te ograniczenia pomagają w utrzymaniu integralności danych. Przykładowo, definiując klucz obcy (foreign key) powiążemy tabelę z innymi, zapewniając relacyjność danych.
CREATE TABLE Zamowienia (
ID_Zamowienia INT PRIMARY KEY,
ID_Klienta INT,
Data_Zamowienia DATE,
FOREIGN KEY (ID_Klienta) REFERENCES Klienci(ID_Klienta)
);
INSERT INTO ... SELECT ...
aby skopiować dane z innej tabeli lub na podstawie wyniku zapytania.
INSERT INTO Zamowienia (ID_Klienta, Data_Zamowienia)
SELECT ID_Klienta, CURRENT_DATE()
FROM Klienci
WHERE Miasto = 'Warszawa';
WHERE
. Pamiętajcie o ostrożności - zapytanie UPDATE
bez WHERE
zaktualizuje wszystkie rekordy w tabeli!
UPDATE Produkty
SET Cena = Cena * 1.1
WHERE Kategoria = 'Elektronika';
UPDATE
, DELETE
bez klauzuli WHERE
usunie wszystkie rekordy z tabeli. Zawsze sprawdzajcie swoje zapytania! Dobrą praktyką jest używanie SELECT
z tym samym WHERE
przed DELETE
aby sprawdzić, które rekordy zostaną usunięte.
-- Sprawdź, które rekordy zostaną usunięte:
SELECT * FROM Klienci WHERE Data_Rejestracji < '2023-01-01';
-- Usuń rekordy:
DELETE FROM Klienci WHERE Data_Rejestracji < '2023-01-01';
Sprawdźmy, jak radzicie sobie z nowymi informacjami!
Stwórz tabelę o nazwie Pracownicy
z następującymi kolumnami:
ID_Pracownika
(INT, PRIMARY KEY)Imie
(VARCHAR(50), NOT NULL)Nazwisko
(VARCHAR(50), NOT NULL)Email
(VARCHAR(100), UNIQUE)Telefon
(VARCHAR(20))
Do tabeli Pracownicy
, wstaw 3 przykładowych pracowników. Następnie, zaktualizuj adres email jednego z pracowników.
Usuń pracownika o konkretnym ID_Pracownika
. Przed usunięciem, sprawdź (z pomocą SELECT
), czy na pewno usuniesz właściwy rekord.
Zastanówmy się, gdzie te umiejętności znajdują zastosowanie w realnym świecie.
UPDATE
), usuwanie przestarzałych ofert (DELETE
), dodawanie nowych produktów (INSERT
), zarządzanie bazą klientów i zamówień.
UPDATE
), dodawanie nowych pracowników (INSERT
), usuwanie pracowników (DELETE
).
Spróbujcie rozwiązać to zadanie:
Załóżmy, że macie tabelę Zamowienia
i Produkty
. Napiszcie zapytanie SQL, które zwiększa cenę wszystkich produktów w zamówieniach z datą starszą niż 3 miesiące o 10%. Upewnijcie się, że wpierw sprawdzacie, które zamówienia zostaną zaktualizowane (używając SELECT
), a dopiero później wykonujecie modyfikację.
Gdzie szukać więcej informacji i jak pogłębiać wiedzę?
BEGIN TRANSACTION
, COMMIT
, ROLLBACK
) i jak zapewniają one spójność danych.
Stwórz tabelę 'produkty' z kolumnami: 'id_produktu' (INT, klucz główny), 'nazwa' (VARCHAR), 'cena' (DECIMAL), 'ilosc_w_magazynie' (INT). Użyj polecenia `CREATE TABLE`.
Wstaw do tabeli 'produkty' kilka produktów. Dodaj co najmniej trzy produkty z różnymi nazwami, cenami i ilością w magazynie. Użyj polecenia `INSERT INTO`.
Zaktualizuj cenę jednego z produktów w tabeli 'produkty'. Podnieś cenę o 10%. Użyj polecenia `UPDATE` z klauzulą `WHERE`.
Usuń z tabeli 'produkty' produkt, którego ilość w magazynie wynosi 0. Użyj polecenia `DELETE` z klauzulą `WHERE`.
Wyobraź sobie, że pracujesz dla małego sklepu internetowego. Musisz zaimplementować funkcjonalność dodawania, edytowania i usuwania produktów z bazy danych. Użyj poznanych poleceń SQL (CREATE, INSERT, UPDATE, DELETE) do zarządzania danymi o produktach.
Przygotuj się na lekcję dotyczącą klauzul WHERE, HAVING i operatorów logicznych. Będziemy rozszerzać nasze możliwości filtrowania danych.
We're automatically tracking your progress. Sign up for free to keep your learning paths forever and unlock advanced features like detailed analytics and personalized recommendations.