Co to jest wstawianie danych?
Wyobraź sobie, że otwierasz uniwersytet. Masz bazę danych z tabelami, na przykład students do przechowywania informacji o studentach. Przyszedł czas ogłosić, którzy studenci zostali przyjęci i dodać ich dane do tabeli. W SQL do tego służy komenda INSERT INTO. Pozwala ona dodać nowy wiersz do tabeli — jakbyś ręcznie wypełniał nowy wiersz w Excelu, tylko szybciej, mocniej i kodem!
Dodawanie danych przydaje się nie tylko do podstawowych zadań. Używa się go wszędzie — od zapisywania zamówień w sklepie internetowym po przechowywanie informacji o transakcjach w banku. A w przypadku uniwersytetów — to listy studentów, wykładowców i po prostu plan zajęć.
Podstawowa składnia komendy INSERT INTO
W SQL komenda INSERT INTO to prosty sposób na dodanie nowego wiersza do tabeli. Zobaczmy podstawową składnię:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Wyjaśnienie składników:
table_name— nazwa tabeli, do której dodajesz dane.(column1, column2, column3, ...)— lista kolumn, dla których podajesz wartości.VALUES (value1, value2, value3, ...)— lista wartości, które chcesz wstawić do odpowiednich kolumn.
Przykład: dodajemy nowego studenta do tabeli students. Załóżmy, że mamy taką tabelę:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matematyka |
Teraz dodajemy drugiego studenta za pomocą INSERT INTO:
INSERT INTO students (id, name, age, course)
VALUES (2, 'Anna Lin', 19, 'Informatyka');
Po wykonaniu zapytania tabela będzie wyglądać tak:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matematyka |
| 2 | Anna Lin | 19 | Informatyka |
Wstawianie danych do wszystkich kolumn
Jeśli chcesz wstawić wartości dla wszystkich kolumn tabeli, możesz pominąć nazwy kolumn w komendzie INSERT INTO. Jest to możliwe tylko wtedy, gdy podajesz wartości dla każdej kolumny w odpowiedniej kolejności.
Składnia:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
Przykład: załóżmy, że dodajesz kolejnego studenta do tabeli students:
INSERT INTO students
VALUES (3, 'Dan Sim', 20, 'Fizyka');
Efekt:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matematyka |
| 2 | Anna Lin | 19 | Informatyka |
| 3 | Dan Sim | 20 | Fizyka |
Jednak takie podejście może być ryzykowne, jeśli struktura tabeli się zmieni. Dlatego zaleca się zawsze podawać listę kolumn, żeby uniknąć błędów.
Zastosowanie praktyczne: dodawanie studenta
Spróbujmy dodać nowego studenta do naszej tabeli students, wykorzystując pełen potencjał komendy INSERT INTO.
Krok 1: Sprawdzenie aktualnych danych
Przed rozpoczęciem pracy warto sprawdzić dane, które już są w tabeli. Użyjemy komendy SELECT:
SELECT * FROM students;
Krok 2: Dodanie nowego studenta
Teraz dodajemy studenta Peter Chi, który studiuje na kierunku "Biologia" i ma 21 lat:
INSERT INTO students (id, name, age, course)
VALUES (4, 'Peter Chi', 21, 'Biologia');
Krok 3: Sprawdzamy, czy dane zostały dodane
Ponownie wykonujemy zapytanie o wszystkie dane:
SELECT * FROM students;
Efekt:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matematyka |
| 2 | Anna Lin | 19 | Informatyka |
| 3 | Dan Sim | 20 | Fizyka |
| 4 | Peter Chi | 21 | Biologia |
Fajnie, nie? Teraz Peter został dodany do naszego uniwersytetu.
Typowe błędy przy użyciu INSERT INTO
Niezgodność listy kolumn i wartości. Jeśli podasz np. 4 kolumny, ale próbujesz wstawić tylko 3 wartości, SQL wyrzuci błąd:
INSERT INTO students (id, name, age)
VALUES (5, 'Eva Green', 22, 'Chemia');
Błąd: liczba kolumn nie zgadza się z liczbą wartości.
Naruszenie ograniczeń. Jeśli kolumna wymaga unikalności (UNIQUE) albo jest obowiązkowa NOT NULL, złamanie tych zasad spowoduje błąd.
Typy danych.
Jeśli spróbujesz wstawić tekst do pola liczbowego, PostgreSQL też nie będzie zadowolony:
INSERT INTO students (id, name, age, course)
VALUES (5, 'Axel Linz', 'dwadzieścia', 'Chemia');
Po co to w prawdziwych projektach?
Znajomość komendy INSERT INTO to skill, który przyda ci się praktycznie w każdej apce pracującej z bazą danych. W realu będziesz używać tej komendy do:
- Rejestracji nowych użytkowników w systemie.
- Dodawania zamówień w sklepach internetowych.
- Zapisywania danych o płatnościach w systemach płatniczych.
- Aktualizacji codziennych danych o studentach, obecnościach i ocenach w systemach edukacyjnych.
Za każdym razem, gdy twoje apki komunikują się z użytkownikami albo zewnętrznymi źródłami danych, komenda INSERT INTO staje się podstawowym narzędziem do zapisu tych danych w bazie.
Jeśli pracujesz z backend-appkami albo planujesz robić API do obsługi danych, umiejętność wstawiania danych przez SQL to podstawowy, ale mega ważny skill!
GO TO FULL VERSION