296 PHP i MySQL dla każdego
INSERT CINTO] tabela [.(.kolumnal. kolumna2.....kolumnaN)]
VALUES
(wartośćlA. wartośćZA.....wartośćNA).
(wartośćlB. wartość2A.....wartośćNB).
(ilartośćlZ. wartość2A.....wartośćNZ).
Zaprezentowana instrukcja została rozbita na kilka wierszy w celu zwiększenia czytelności danych; nic nie stoi jednak na przeszkodzie, aby zapisać ją w całości w jednym tylko wierszu. Jeśli zatem chcemy do wykorzystywanej już tabeli KLIENCI zapisać trzy wiersze, zawierające dane następujących klientów: Jana Kowalskiego, zamieszkałego przy ulicy Klonowej 24 w Poznaniu, Andrzeja Nowaka, zamieszkałego przy ulicy Lipowej 50 we Wrocławiu, i Janusza Malinowskiego, zamieszkałego przy ulicy Dębowej 12 w Krakowie, możemy zastosować instrukcję SQL:
INSERT INTO Klienci (Klientld. Imię. Nazwisko. Adres)
VALUES
(NULL. 'Jan'. 'Kowalski'. 'Klonowa 24. Poznań').
(NULL. 'Andrzej'. 'Nowak'. 'Lipowa 50, Wrocław').
(NULL. 'Janusz', 'Malinowski', 'Dębowa 12. Kraków')
Dane zapisane w tabelach bazy można pobierać za pomocą instrukcji SELECT. Instrukcja ta posiada wiele opcji i klauzul dodatkowych. Najpierw jednak poznajmy jej podstawową postać, która schematycznie wygląda następująco:
SELECT kolumnal, kolumna2.....kolumnaN
FROM tabela [WHERE warunek]
[ORDER BY kolumnal. kolumna2.....kolumnaN [ASC | DEC]]
Oznacza ona: pobierz wartości wymienionych kolumn z tabeli tabela, spełniających warunek warunek, a wyniki posortuj względem kolumn wymienionych w klauzuli ORDER BY, rosnąco (ASC) lub malejąco (DESC). Aby przekonać się, jak w praktyce działają proste zapytania typu SELECT, utworzymy tabelę przechowującą dane o osobach: imię, nazwisko oraz rok i miejsce urodzenia. Wykorzystamy do tego celu instrukcję CREATE TABLE w postaci:
CREATE TABLE Osoba (
Id INTEGER PRIMARY KEY.
Imię VARCHAR(20).
Nazwisko VARCHAR (35).
RokJJrodzenia YEAR.
MiejsceJJrodzenia VARCHAR (35)
)
Za pomocą serii instrukcji INSERT wprowadzimy do tak utworzonej tabeli przykładowe dane, w sumie 10 wierszy. Będzie za to odpowiedzialna instrukcja SQL, przedstawiona na listingu 10.1.