Transcript SQL

Damian Urbańczyk
PHP + MySQL
Komendy SQL do pracy
z danymi
SQL DML
Do pracy z danymi, gromadzonymi w tabelach bazy
danych, służy język SQL DML, czyli Data Manipulation
Language.
W ramach DMLa korzystamy z 4 komend:
• INSERT – dodawanie danych,
• SELECT – wybieranie danych,
• UPDATE – aktualizacja/zmiana danych,
• DELETE – usuwanie danych.
Przygotowanie tabeli
Aby móc korzystać z języka DML, należy najpierw przygotować
odpowiednie tabele.
Dla potrzeb ćwiczeń stwórzmy tabelę uczniowie, która będzie się
składać z 4 pól:
• identyfikator,
• imię,
• nazwisko,
• wiek.
Aby utworzyć taką tabelę, skorzystamy z polecenia DDL:
CREATE TABLE `uczniowie` ( `id` INT NOT NULL
AUTO_INCREMENT , `imie` VARCHAR( 55 ) NOT NULL ,
`nazwisko` VARCHAR( 55 ) NOT NULL , `wiek` INT NOT NULL ,
PRIMARY KEY ( `id` ));
Dodajemy nowy rekord
Aby dodać nowy rekord, zwany również wpisem, używamy
polecenia INSERT:
INSERT INTO uczniowie VALUES('', 'Jan', 'Kowalski', '18');
Po komendzie INSERT INTO definiujemy tabelę, do której ma
trafić nowy rekord. Słowo VALUES (wartości) oznacza, że
zaraz po nim zdefiniujemy nowe wartości, które mają się
znaleźć w dodawanym rekordzie.
W powyższym przykładzie nie wpisano nic do pierwszego
pola, gdyż w naszej tabeli (uczniowie) pole to jest typem
autonumerowanym, a więc automatycznie jest zwiększane o 1
przy każdym nowym rekordzie i nie wymaga ręcznego
wprowadzania wartości, a nawet nie powinno być zmieniane.
Pobieramy dane z tabeli
Aby pobrać dane z tabeli, należy użyć polecenia SELECT:
SELECT * FROM uczniowie WHERE id='1';
Efektem powyższego zapytania będzie pobranie z bazy
danych i wyświetlenie w wynikach wszystkich elementów,
w których pole id jest równe 1 (id='1').
Należy pamiętać, aby zawsze określić, z której tabeli mają
być pobierane dane. Jeśli korzystamy z warunków
(WHERE…), aby nazwy pół użytych w zapytaniu były
identyczne z tymi, które tworzą tabelę.
Pobieranie z warunkami
Możemy pobierać dane, tworząc warunki…
SELECT * FROM uczniowie WHERE imie='Jan' AND nazwisko='Kowalski';
Powyższe zapytanie wybierze z tabeli uczniowie wszystkie rekordy, które
spełniają dwa warunki – w polu imie znajduje się wpis Jan, a w polu
nazwisko Kowalski. Wyświetlone zostaną tylko te wpisy, gdzie oba warunki
są spełnione – tak działa warunek AND.
Inna sytuacja występuje w przypadku użycia operatora OR, który pozwala
na wybranie tych rekordów, które spełniają jeden z podanych warunków,
np.:
SELECT * FROM uczniowie WHERE imie='Jan' OR nazwisko='Kowalski';
Powyższe zapytanie wybierze te rekordy, w których pole imię jest równe
Jan lub nazwisko jest równe Kowalski.
Zmiana danych
Jeśli chcemy zmienić dane w tabeli, korzystamy
z polecenia UPDATE:
UPDATE uczniowie SET nazwisko='Nowak' WHERE
nazwisko='Kowalski‘;
Powyższe zapytanie zmieni we wskazanej tabeli
wszystkie dotychczasowe nazwiska Kowalski na Nowak.
Po słowie SET wpisujemy, co ma zostać zmienione.
Po słowie WHERE wpisujemy, gdzie ma zostać
zmienione, a więc jest to warunek – zmień tam, gdzie…
Usuwanie danych
Aby usunąć rekord/wpis z tabeli, używamy polecenia
DELETE:
DELETE FROM uczniowie WHERE
nazwisko='Kowalski';
Efektem wysłania takiego polecenia do bazy danych
będzie usunięcie z tabeli uczniowie wszystkich
rekordów, w których pole nazwisko jest równe
Kowalski. Usuniemy z tabeli wszystkich Kowalskich.
Zaawansowane opcje
Przedstawione w niniejszej prezentacji opcje SQL DML
to podstawa. Zainteresowanym polecam dobrze
przygotowane internetowe poradniki dla webmasterów,
z których dowiedzą się więcej na temat manipulacji
danymi w tabeli.
Dziękuję za uwagę!