Tworzymy pierwszą bazę
Zaczynając pracę z bazą danych trzeba poznać kilka pojęć. Baza
MySQL oparta jest na języku SQL (Structured Query Language) i właśnie
w nim będziemy tworzyć zapytania czyli polecenia zrozumiałe przez
bazę. Baza danych zawiera w sobie tabelki. Tabelka zawiera pola które
określają co będzie zawierał dodany do bazy rekord. Przykładowo w
bazie chcemy mieć tabelkę z danymi osobowymi tak więc do tabelki
wstawiamy pola np.: IMIĘ, NAZWISKO, DATA URODZENIA, ADRES,
TELEFON. Dodany rekord przykładowo wyglądał by tak: Jan Kowalski,
1981.12.28, ul.Długa 6 m 23 Toruń, 7632325. Mam nadzieję, że
wszystko jest zrozumiałe.
By utworzyć bazę do której będziemy dodawać wpisy skierowane np.
z formularza na naszej stronie mamy do dyspozycji 3 sposoby.
Pierwszy polega na utworzeniu pliku który zostanie przetworzony i
skompilowany przez bazę danych.
Drugi to praca z programem MySqlManager (znajduje się w katalogu
bin).
Trzeci (moim zdaniem najlepszy) to utworzenie skryptu PHP.
Ja przedstawię wam sposób pierwszy i trzeci gdyż te dwa używane są
najczęściej.
Sposób pierwszy polega na wykonaniu pliku z instrukcjami utworzenia
bazy danych. Na pewno wielu z was spotkało się z gotowymi skryptami
php wykorzystującymi bazę MySQL, mają one dołączone pliki o
rozszerzeniu .sql . Ten plik kompilujemy. My utworzymy prostą bazę
zawierającą dane osobowe. Otwieramy notatnik. I piszemy np. coś
takiego:
create database daneosobowe;
connect daneosobowe;
CREATE TABLE dane (
id int(11) DEFAULT '0' NOT NULL auto_increment,
imie char(30),
nazwisko char (30),
dataur date DEFAULT '0000-00-00' NOT NULL,
adres blob,
telefon int(15),
UNIQUE id (id),
PRIMARY KEY (id)
);
INSERT INTO dane VALUES (1,'Jan','Kowalski','1981-12-28','ul.Długa 6 m 23 Toruń','7632325');
Plik zapisujemy np. w katalogu bin naszego SQL'a pod nazwą baza.sql.
Teraz należą się wam wyjaśnienia o co tu chodzi.
Najpierw musimy utworzyć nową bazę danych służy do tego polecenie
create database . W tym poleceniu
dodajemy oczywiście nazwę bazy jaka ma zostać utworzona polecenie
kończymy średnikiem. Gdy bazę utworzyliśmy przydały by nam się jakieś
tabelki. Najpierw łączymy się z utworzoną bazą w naszym przypadku
connect daneosobowe; . Gdy połączyliśmy
się z bazą tworzymy tabelkę poleceniem create
table . Polecenie to musi zawierać nazwę tworzonej tabelki (u
nas dane) oraz w nawiasie oddzielone przecinkami pola jakie tabelka będzie
zawierać. Dostępnych jest kilka typów pól:
char(x) -
ciąg znaków o maksymalnej długości x, gdzie x nie może być większy
od 255,
blob - ciąg znaków o długości
ograniczonej przez twoją pamięć,
int - liczba całkowita z zakresu
od do ,
data - data w formacie DBMS (uwaga
format odwrotny do normalnego: YYYY-MM-DD),
year - rok, jeśli zostanie podany
zły, jego wartość zmieni się w 0000,
decimal(x, y) - liczba dziesiętna,
gdzie x oznacza maksymalną liczbę cyfr, a y maksymalną liczbę cyfr
po przecinku.
W naszym przykładzie pole id int(11) DEFAULT '0' NOT NULL auto_increment,
zawiera dodatkowo określenie default'owej wartości (0), pole
to nie może pozostać puste musi zawierać dane (NOT
NULL), oraz jest automatycznie numerowane, czyli każdy nowy
rekord otrzyma inny id większy od
poprzedniego o 1. Dobrze jest dodawać do pól określenie NOT
NULL zabezpieczy to nam bazę przed dodawaniem pustych lub
niekompletnych rekordów. UNIQUE to określenie
pola które jest unikatowe. U nas dla id
dane nie mogą być identyczne, nie mogą powstać dwa rekordy o id=1.
PRIMARY KEY to określenie klucza głównego.
Tak stworzyliśmy w naszej bazie daneosobowe
tabelkę dane. Dodamy pierwszy rekord by
baza nie była pusta. Służy do tego polecenie INSERT
INTO czyli wstaw w . My wstawiamy INSERT
INTO do tabelki dane wartości VALUES
poszczególnych pól (1,'Jan','Kowalski','1981-12-28','ul.Długa 6 m 23 Toruń','7632325');
Tak powstał pierwszy rekord.
Przygotowaliśmy plik który zinterpretuje baza więc czas go
skompilować.
Otwieramy wiersz poleceń (menu START/Uruchom...) i wpisujemy: c:\mysql\bin\mysql -h127.0.0.1 -uadmin -phaslo
Tłumacząc uruchamiamy mysql'a z parametrami -h (host) -u (user-użytkownik)
-p (password-hasło). Uwaga podczas łączenia się z bazą
poprzez wiersz poleceń serwer powinien działać jako jeden z procesów
systemu. Po zalogowaniu przetwarzamy nasz plik wpisujemy komendę source
baza.sql i wciskamy enter. Komenda source
przetwarza plik źródłowy u nas pod nazwą baza.sql . Jeżeli plik
zapisaliśmy w innym miejscu niż katalog bin mysql'a np. na pulpicie
komenda wtedy wygląda np. tak source c:\windows\pulpit\baza.sql
. By sprawdzić czy istnieje baza i jej pierwszy rekord wpisujemy
kolejno:
connect daneosobowe (wciskamy enter)
select * from dane; (wciskamy enter)
Na ekranie powinniśmy uzyskać np. coś
takiego:

Sposób trzeci założenia bazy jest łatwiejszy i zajmuje mniej
czasu, a efekt jest ten sam. Stworzymy skrypt php który wykonamy na
serwerze. Oto on:
<?php
mysql_connect("127.0.0.1","admin","haslo");
$zapytanie = "CREATE DATABASE daneosobowe";
$wynik = mysql_query($zapytanie);
if($wynik) echo "Baza została założona !<br>";
else {
echo "Baza nie została założona !<br>";
exit;
}
mysql_select_db(daneosobowe);
$zapytanie = "CREATE TABLE dane ( ".
"id int(11) DEFAULT '0' NOT NULL auto_increment, ".
"imie char(30), ".
"nazwisko char (30), ".
"dataur date DEFAULT '0000-00-00' NOT NULL, ".
"adres blob, ".
"telefon int(15), ".
"UNIQUE id (id), ".
"PRIMARY KEY (id) ".
")";
$wynik = mysql_query($zapytanie);
if($wynik) echo "Tabela założona prawidłowo !<br>";
else {
echo "Blad ! Tabela nie została założona !<br>";
exit;
}
$zapytanie = "INSERT INTO dane VALUES(1,'Jan','Kowalski','1981-12-28','ul.Długa 6 m 23 Toruń','7632325')";
$wynik = mysql_query($zapytanie);
if($wynik) echo "Pierwszy rekord dodany prawidłowo !<br>";
else {
echo "Błąd !!! Pierwszy rekord nie został dodany !<br>";
}
?>
Po uruchomieniu skryptu na serwerze powstanie nasza baza z tabelką
dane i pierwszym rekordem. By każdy wiedział czy jego skrypt wykonał
się prawidłowo dodałem warunki jeżeli w którymś momencie wystąpi
błąd poinformuje nas o tym odpowiedni komunikat.
Zawartość skryptu jest podobna do pliku zawierającego komendy dla
serwera SQL. Tu jednak plik interpretuje PHP więc musimy użyć
jego funkcji mysql_query(zapytanie
SQL). Analizując powyższy kod widać, że jest podobny on do pliku z
metody pierwszej.
W PHP do połączenia się z serwerem MySQL służy komenda mysql_connect("127.0.0.1","admin","haslo");
jako jego wartości podajemy adres hosta, nasz login i hasło.
Do zmiennych przypisujemy zapytania, a następnie poprzez funkcję mysql_query
wykonujemy je. Po utworzeniu bazy musimy ją wybrać by dalej można
było z nią pracować, służy do tego funkcja mysql_select_db(nazwa-bazy);
. Dalej skrypt wykonuje te same polecenia które mieliśmy w
sposobie pierwszym.
Tak przygotowaliśmy naszą bazę w następnym rozdziale dodamy do
niej rekordy oraz wypiszemy je na stronie www.

|