Kurs Java od podstaw Tydzień 6

SELECT, INSERT, DELETE, UPDATE

SELECT, INSERT, DELETE, UPDATE

Skoro mamy już stworzoną tabelę to czas na dodanie pierwszych rekordów – nie przedłużajmy do dzieła!

SELECT

Nasza tabela składa się z rekordów i bez problemu możemy je wszystkie wyświetlić przy użyciu komendy Select.

Przed wykonaniem komendy zobacz czy używasz bazy danych people!

select * from employees;

Jak widać metoda select wybiera nam wszystkie – ponieważ używamy gwiazdki * – z tabeli o nazwie employess.

Empty set (0.00 sec)

Niestety nasza tabela póki co jest pusta, więc najpierw dodajmy coś do niej.

INSERT

Komenda Insert służy do dodawania nowych rekordów do konkretnej tabeli – jej konstrukcja wygląda tak:

insert into nazwa-tabeli(kolumna1, kolumna2, kolumna3, ...) values(wartosc1, wartosc2, wartosc3, ...);

Na podstawie tego schematu stwórzmy sobie komendę do dodanie rekordu o wartościach: Jan Kowalski 21.

insert into employees(name, lastname, age) values('Jan', 'Kowalski', 22);

Pamiętaj o odpowiedniej kolejności wartości względem kolumn!

Dodajmy sobie jeszcze kilka rekordów, aby było ciekawiej! 😉

insert into employees(name, lastname, age) values('John', 'Rambo', 45);
insert into employees(name, lastname, age) values('Johny', 'Bravo', 53);
insert into employees(name, lastname, age) values('Pablo', 'Escabo', 33);

I teraz możemy w końcu użyć z efektem komendy select..

select * from employees;

I powinniśmy otrzymać taki rezultat:

+----+-------+----------+-----+
| ID | name  | lastname | age |
+----+-------+----------+-----+
|  1 | Jan   | Kowalski |  22 |
|  2 | John  | Rambo    |  45 |
|  3 | Johny | Bravo    |  53 |
|  4 | Pablo | Escabo   |  33 |
+----+-------+----------+-----+

Jak widać dane się zgadzają – zostały poprawnie zapisane do tabeli. 😉

WHERE

Bardzo ważną częścią zapytania jest klauzula where, która ograniczna nasz zbiór na podstawie podanego warunku logicznego – już tłumaczę.

Przypuśćmy, że chcemy wyciągnać tylko osoby, które mają więcej niż 40 lat. Zrobimy to tak:

select * from employees where age > 40;

I wtedy otrzymamy już tylko:

+----+-------+----------+-----+
| ID | name  | lastname | age |
+----+-------+----------+-----+
|  2 | John  | Rambo    |  45 |
|  3 | Johny | Bravo    |  53 |
+----+-------+----------+-----+

Podobnych funkcji i klauzul jest sporo w SQL – na początek wystarczy, że będziesz znał where – będzie on wykorzystywany również przy zapytania UPDATE oraz DELETE.

DELETE

Możemy również usuwać rekordy z tabeli – albo wszystkie, albo tylko wybrane dzięki klauzuli where.

Jeśli chcemy usunąć rekord o id 1 to zapytanie będzie wyglądało tak:

delete from employees where id = 1;

I jak tym razem wywołamy komendę:

select * from employees;

To otrzymamy już tylko 3 rekordy:

+----+-------+----------+-----+
| ID | name  | lastname | age |
+----+-------+----------+-----+
|  2 | John  | Rambo    |  45 |
|  3 | Johny | Bravo    |  53 |
|  4 | Pablo | Escabo   |  33 |
+----+-------+----------+-----+

Można również usunąć wiele rekordów naraz np. usuńmy osoby, które mają ponad 40 lat.

delete from employees where age > 40;

No i już został nam tylko jeden rekord

+----+-------+----------+-----+
| ID | name  | lastname | age |
+----+-------+----------+-----+
|  4 | Pablo | Escabo   |  33 |
+----+-------+----------+-----+

Oszczędźmy go jeszcze do następnej metody. 😉

UPDATE

Na naszych tabelach możemy również wykonywać update – czyli edytować wiersze, masowo lub pojedyńczo. Zależy od takie jaki warunek where ustawimy. My zrobimy to tylko na jeden rekord – tylko jeden nam został 😉 – zmienimy wiek naszemu Pablo.

Konstrukcja update wygląda tak:

update nazwa-tabeli set nazwa-kolumny=wartosc1, nazwa-kolumny2 = wartosc2 where = jakiś warunek;

Na tej podstawie zmieńmy wiek rekordu, który ma nazwę name = Pablo.

update employees set age = 60 where name = "Pablo";

I jak widać to się powiodło:

+----+-------+----------+-----+
| ID | name  | lastname | age |
+----+-------+----------+-----+
|  4 | Pablo | Escabo   |  60 |
+----+-------+----------+-----+

Podczas update oraz delete uważaj! Warunek where może zmienić/usunąć Ci wiele rekordów na raz – jeśli chcesz zmienić jeden rekord to używaj do tego ID.

Podsumowanie

I to na tyle podstawowych komend potrzebnych do operacji na tabeli, dowiesz się o innych w trakcie rozrastania się projektu – póki co wystarczy Ci tyle, aby przechowywać podstawowe informację. 😉

Aby utrwalić swoją wiedzę wykonaj poniższe zadania:

 

  1. Dodaj do tabeli rekordy:
    • Jan Kowalski 45
    • Johny Rambo 34
    • Anna Kowalska 19
    • Josh Qwert 53
    • Johny Bravo 33
    • Team Red 12
  2. Wszystkim osobom, których wiek jest mniejszy niż 34 zmień imię na: „young”
  3. Usuń z tabeli osoby będące po 50stce.

Przykładowy rezultat zadania: (ID mogą się różnić):

+----+-------+----------+-----+
| ID | name  | lastname | age |
+----+-------+----------+-----+
|  5 | Johny | Rambo    |  34 |
|  6 | Jan   | Kowalski |  45 |
|  7 | young | Kowalska |  19 |
|  9 | young | Bravo    |  33 |
| 10 | young | Red      |  12 |
+----+-------+----------+-----+

 

 

UWAGA PRZYKŁADOWE ROZWIĄZANIE PONIŻEJ!

 

 

 

 

 

 

insert into employees(name, lastname, age) values('Johny', 'Rambo', 34);
insert into employees(name, lastname, age) values('Jan', 'Kowalski', 45);
insert into employees(name, lastname, age) values('Anna', 'Kowalska', 19);
insert into employees(name, lastname, age) values('Josh', 'Qwert', 53);
insert into employees(name, lastname, age) values('Johny', 'Bravo', 33);
insert into employees(name, lastname, age) values('Team', 'Red', 12);

update employees set name = "young" where age < 34;

delete from employees where age > 50;

 

 

I to na tyle, w następnym tygodniu spotkamy się z SQL już bezpośrednio w Javie podłączać bazę danych do projektu. 😉

Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments