Académique Documents
Professionnel Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
MySQL. Darmowa
baza danych.
wiczenia praktyczne
Autor: Marcin Lis
ISBN: 83-246-0600-9
Format: A5, stron: 184
Wstp
Rozdzia 1. Instalacja i konfiguracja
Instalacja w systemie Linux
Instalacja w systemie Windows
Wstpna konfiguracja w systemie Windows
Uruchamianie i zatrzymywanie serwera w systemie Linux
Wstpna konfiguracja w systemie Linux
Uruchamianie i zatrzymywanie serwera
w systemie Windows
5
9
9
17
21
26
31
32
37
37
39
40
41
54
60
62
65
65
66
68
73
81
81
85
98
104
106
108
115
116
125
125
134
150
153
157
157
160
165
Nazwa tabeli moe zawiera dowolne znaki, jakie moe zawiera nazwa pliku w systemie operacyjnym, na ktrym dziaa serwer MySQL,
z wyjtkiem /, \ i . Maksymalna dugo nazwy to 64 bajty. Poczwszy od wersji 3.23.6, nazwa tabeli moe by nazw sowa zastrzeonego dla konstrukcji jzyka (np. SELECT, CREATE), w takim wypadku musi by jednak zawsze ujta w znaki , np. SELECT. Nie
82
83
W I C Z E N I E
4.1
84
Rysunek 4.2.
Prba utworzenia
ju istniejcej
tabeli
W I C Z E N I E
4.2
Tworzona tabela moe by rwnie tymczasow, czyli tak, ktra zostanie automatycznie usunita po zakoczeniu poczenia. Co wicej, taka tabela jest powizana wycznie z poczeniem, w ktrym
zostaa utworzona, tak wic dwch uytkownikw moe w jednym
czasie w jednej bazie utworzy rne tabele o takiej samej nazwie.
Tymczasowo tabeli zapewnia sowo TEMPORARY umieszczone za CREATE,
czyli instrukcja w oglnej postaci:
CREATE TEMPORARY TABLE nazwa_tabeli
(
definicje kolumn
)
W I C Z E N I E
4.3
Tabela tymczasowa
85
Istnieje take moliwo utworzenia nowej tabeli na bazie ju istniejcej. Stosujemy w tym celu instrukcj CREATE w postaci:
CREATE TABLE nowa_tabela LIKE istniejca_tabela;
4.4
Kada kolumna tabeli w bazie danych ma przypisany typ, ktry okrela rodzaj danych, jakie mog by w niej przechowywane. Wystpujce w MySQL typy danych mona podzieli na trzy grupy:
q liczbowe,
q daty i czasu,
q acuchowe.
Typy liczbowe
Typy liczbowe moemy podzieli na dwa rodzaje typy cakowitoliczbowe oraz typy zmiennoprzecinkowe. Zgodnie z nazwami su
one do reprezentacji wartoci cakowitych oraz zmiennoprzecinkowych (zmiennopozycyjnych, rzeczywistych). Typy cakowitoliczbowe
zostay przedstawione w tabeli 4.1. Jeden z wymienionych w niej typw INTEGER wykorzystywalimy ju przy tworzeniu przykadowej tabeli klient. W kadym z wymienionych przypadkw z wyjtkiem
BOOL i BOOLEAN mona zastosowa dodatkowy modyfikator okrelajcy maksymaln szeroko wywietlania w sytuacji, kiedy liczba znakw wartoci jest mniejsza ni maksymalna. Definicja typu ma wtedy
posta:
nazwa_typu(ile)
86
Zakres wartoci
Liczba
zajmowanych Opis
bajtw
BIT
zmienna
W wersjach od 5.0.3
reprezentuje pola bitowe
od 1 do 64 bitw,
w wersjach wczeniejszych
synonim dla TINYINT(1).
BOOL
87
Zakres wartoci
Liczba
zajmowanych Opis
bajtw
BOOLEAN
TINYINT
Od 128 do 127
dla liczb ze znakiem
i od 0 do 255 dla liczb
bez znaku.
Reprezentacja bardzo
maych wartoci
cakowitoliczbowych.
SMALLINT
Od 3278 (215)
do 3277 (2151)
dla liczb ze znakiem
i od 0 do 5535 (2161)
dla liczb bez znaku.
Reprezentacja
maych wartoci
cakowitoliczbowych.
MEDIUMINT
Od 838808 (223)
do 838807 (2231)
dla liczb ze znakiem
i od 0 do 1777215
(2241) dla liczb
bez znaku.
Reprezentacja
rednich wartoci
cakowitoliczbowych.
INT
Od 214748348 (231)
do 214748347 (2311)
dla liczb ze znakiem
i od 0 do 429497295
(2321) dla liczb
bez znaku.
Reprezentacja
zwykych wartoci
cakowitoliczbowych.
88
Typ
Zakres wartoci
INTEGER
Od 214748348 (231)
do 214748347 (2311)
dla liczb ze znakiem
i od 0 do 429497295 (232
1) dla liczb bez znaku.
BIGINT
Od 922337203854775808
(263) do 922337203854
775807 (263 1) dla liczb
ze znakiem i od 0
do 184474407370955115
(2641) dla liczb bez znaku.
Reprezentacja
duych wartoci
cakowitoliczbowych.
W I C Z E N I E
4.5
4.6
Utwrz tabel, ktra bdzie zawieraa kolumn typu INTEGER przechowujc wycznie dodatnie wartoci z przedziau 0 65535, w ktrej
liczba wywietlanych znakw bdzie zawsze rwna 5, a wolne miejsca wartoci krtszych ni 5 znakw bd wypeniane zerami.
CREATE TABLE test
(
id SMALLINT(5) ZEROFILL
);
89
Typy zmiennoprzecinkowe zostay przedstawione w tabeli 4.2. Podobnie jak w przypadku typw cakowitoliczbowych, istnieje moliwo zastosowania modyfikatora okrelajcego szeroko wywietlania. W przypadku typw ILOAT, DOUBLE i DOUBLE PRECISION wystpuje
on zawsze jednoczenie z modyfikatorem okrelajcym liczb miejsc
po przecinku, oglnie:
nazwa_typu(mod1, mod2)
gdzie mod1 okrela szeroko wywietlania (cakowit liczb cyfr znaczcych), a mod2 liczb uwzgldnianych miejsc po przecinku.
Tabela 4.2. Typy zmiennoprzecinkowe
Typ
Zakres wartoci
Liczba
zajmowanych
bajtw
FLOAT
(precyzja)
zmienny
4 lub 8
FLOAT
od 3.4028234E+38
do 3.4028234E+38
Liczby
zmiennoprzecinkowe
pojedynczej precyzji.
DOUBLE
od 1.797931348
23157E+308
do 1.797931348
23157E+308
Liczby
zmiennoprzecinkowe
podwjnej precyzji.
DOUBLE
PRECISION
jw.
jw.
REAL
jw.
jw.
Opis
90
Zakres wartoci
Liczba
zajmowanych
bajtw
DECIMAL
zmienny
zmienna
Wartoci z separatorem
dziesitnym. W wersjach
przed 5.0.3
przechowywana jako
acuch znakw.
Cakowita maksymalna
liczba znakw i liczba
znakw po separatorze
dziesitnym moe by
okrelana przez dodatkowe
parametry.
DEC
jw.
jw.
NUMERIC
jw.
jw.
FIXED
jw.
jw.
Opis
W przypadku typu DECIMAL i jego synonimw moliwe jest zastosowanie modyfikatora okrelajcego szeroko wywietlania bez modyfikatora okrelajcego liczb miejsc po przecinku, czyli prawidowa
jest zarwno konstrukcja:
DECIMAL(mod1)
jak i:
DECIMAL(mod1, mod2)
W stosunku do typw zmiennoprzecinkowych mona rwnie stosowa modyfikatory ZEROIILL oraz UNSIGNED. Znaczenie pierwszego z nich
jest takie samo jak w przypadku typw cakowitoliczbowych. Zastosowanie modyfikatora UNSIGNED powoduje natomiast, e dozwolone
bd jedynie wartoci nieujemne, nie zmieni si natomiast zakres
wartoci moliwych do reprezentowania.