MySQL. Vademecum profesjonalisty. Wydanie V
Autor: Paul DuBois
Stron: 1216
Druk (oprawa: miękka)
Tytuł oryginału: MySQL (5th Edition)
Tłumaczenie: Robert Górczyński
ISBN Książki drukowanej: 978-83-[zasłonięte]-8146-4, 978[zasłonięte][zasłonięte]46814
Data wydania książki drukowanej: 2[zasłonięte]014-03
Format: 170x230
Numer z katalogu: 17975
Kompendium wiedzy o MySQL!
MySQL to jedna z najpopularniejszych baz danych wykorzystywanych we współczesnych aplikacjach internetowych. Swój sukces zawdzięcza prostej konfiguracji, niewielkim wymaganiom oraz wysokiej niezawodności. Jeżeli do tego dołożymy genialny współczynnik możliwości do ceny — baza jest darmowa — oraz doskonałą współpracę z językiem PHP, to otrzymamy rewelacyjny produkt. Warto pamiętać, że MySQL to prawdziwy system bazodanowy, wspierający zaawansowane techniki replikacji danych i mogący przechowywać bez problemu miliardy rekordów.
Ta książka to kompletny poradnik poświęcony wykorzystaniu bazy danych MySQL oraz administrowaniu tą bazą. W trakcie lektury dowiesz się, jak najlepiej składować dane w bazie, jak optymalizować zapytania oraz jak pobierać metadane. Ponadto nauczysz się uzyskiwać dostęp do bazy z użyciem języków C, Perl oraz PHP. Niezwykle istotna jest część trzecia niniejszej publikacji. Poświęcona została w całości zagadnieniom związanym z administrowaniem bazą MySQL. Zrozumiesz dzięki niej, w jaki sposób baza przechowuje dane, jak zoptymalizować jej wydajność oraz co musisz zrobić, by zagwarantować najwyższy poziom bezpieczeństwa. Warto, żebyś zawczasu zapoznał się z rozdziałem poświęconym wykonywaniu i odtwarzaniu kopii zapasowej. Książka jest doskonałym źródłem informacji zarówno dla programistów, jak i administratorów korzystających z tej bazy danych.
Dzięki tej książce:
- poznasz dogłębnie bazę danych MySQL
- zoptymalizujesz jej działanie
- podłączysz się do jej zasobów za pomocą języków C, Perl i PHP
- w pełni wykorzystasz potencjał bazy danych MySQL
Wykorzystaj potencjał bazy danych MySQL!
O autorze (17)
Wprowadzenie (19)
CZĘŚĆ I. OGÓLNE UŻYCIE MYSQL
Rozdział 1. Rozpoczęcie pracy z MySQL (33)
1.1. W jaki sposób MySQL może Ci pomóc? (33)
1.2. Przykładowa baza danych (37)
1.2.1. Projekt "Liga Historyczna USA" (37)
1.2.2. Projekt "Oceny uczniów" (40)
1.2.3. Jak przykładowa baza danych może Ci pomóc? (41)
1.3. Podstawowa terminologia bazy danych (41)
1.3.1. Terminologia strukturalna (42)
1.3.2. Terminologia języka zapytań (44)
1.3.3. Terminologia architekturalna MySQL (45)
1.4. Przewodnik po MySQL (46)
1.4.1. Pobranie przykładowej bazy danych (47)
1.4.2. Wymagania wstępne (47)
1.4.3. Nawiązywanie i zrywanie połączenia z serwerem MySQL (49)
1.4.4. Wykonywanie zapytań SQL (51)
1.4.5. Tworzenie bazy danych (54)
1.4.6. Tworzenie tabel (55)
1.4.7. Dodawanie nowych rekordów (75)
1.4.8. Przywrócenie bazy danych sampdb do znanego stanu (79)
1.4.9. Pobieranie informacji (80)
1.4.10. Usuwanie lub uaktualnianie istniejących rekordów (110)
1.5. Wskazówki przydatne podczas pracy z klientem mysql (113)
1.5.1. Uproszczenie procesu nawiązywania połączenia (113)
1.5.2. Wpisywanie mniejszej ilości tekstu przy wykonywaniu zapytań (115)
1.6. Co dalej? (120)
Rozdział 2. Użycie MySQL do zarządzania danymi (123)
2.1. Tryby SQL serwera (124)
2.2. Identyfikatory składni MySQL i reguły nadawania nazw (126)
2.3. Wielkość liter w zapytaniach SQL (128)
2.4. Obsługa kodowania znaków (130)
2.4.1. Określenie kodowania znaków (131)
2.4.2. Określenie dostępności kodowania znaków i ustawień bieżących (132)
2.4.3. Obsługa Unicode (133)
2.5. Wybór, utworzenie, usunięcie i zmiana bazy danych (134)
2.5.1. Wybór bazy danych (134)
2.5.2. Utworzenie bazy danych (135)
2.5.3. Usunięcie bazy danych (136)
2.5.4. Zmiana bazy danych (136)
2.6. Tworzenie, usuwanie, indeksowanie i modyfikowanie tabel (137)
2.6.1. Cechy charakterystyczne silników bazy danych (137)
2.6.2. Tworzenie tabel (143)
2.6.3. Usuwanie tabel (152)
2.6.4. Indeksowanie tabel (153)
2.6.5. Zmiana struktury tabeli (158)
2.7.1. Pobieranie metadanych za pomocą zapytania SHOW (162)
2.7.2. Pobieranie metadanych z bazy danych INFORMATION_SCHEMA (164)
2.8. Pobieranie danych z wielu tabel za pomocą złączeń (167)
2.8.1. Złączenia wewnętrzne (169)
2.8.2. Kwalifikowane odwołania do kolumn z poziomu złączonych tabel (170)
2.8.3. Złączenia typu LEFT i RIGHT (OUTER) (171)
2.9. Pobieranie informacji z wielu tabel za pomocą podzapytań (175)
2.9.1. Podzapytania używające względnych operatorów porównania (176)
2.9.2. Podzapytania IN i NOT IN (177)
2.9.3. Podzapytania ALL, ANY i SOME (178)
2.9.4. Podzapytania EXISTS i NOT EXISTS (179)
2.9.5. Podzapytania skorelowane (180)
2.9.6. Podzapytania w klauzuli FROM (181)
2.9.7. Przepisywanie podzapytań na postać złączeń (181)
2.10. Pobieranie informacji z wielu tabel za pomocą zapytań UNION (183)
2.11. Usuwanie i uaktualnianie rekordów w wielu tabelach (186)
2.12. Przeprowadzanie transakcji (188)
2.12.1. Użycie transakcji do zapewnienia bezpiecznego środowiska wykonywania (190)
2.12.2. Użycie punktów pośrednich transakcji (194)
2.12.3. Izolacja transakcji (194)
2.13. Klucze zewnętrzne i integralność odwołań (197)
2.14. Wyszukiwanie pełnego tekstu (204)
2.14.1. Wyszukiwanie pełnego tekstu w języku naturalnym (207)
2.14.2. Wyszukiwanie pełnego tekstu w trybie boolowskim (208)
2.14.3. Wyszukiwanie rozszerzone o wynik zapytania (210)
2.14.4. Konfiguracja silnika wyszukiwania pełnego tekstu (211)
Rozdział 3. Typy danych (213)
3.1. Kategorie wartości danych (215)
3.1.1. Wartości liczbowe (215)
3.1.2. Wartości ciągu tekstowego (217)
3.1.3. Wartości daty i godziny (226)
3.1.4. Wartości przestrzenne (226)
3.1.5. Wartości boolowskie (227)
3.1.6. Wartość NULL (227)
3.2. Typy danych w MySQL (227)
3.2.1. Ogólny opis typów danych (228)
3.2.2. Określenie typów kolumn w definicji tabeli (230)
3.2.3. Definiowanie wartości domyślnych kolumn (231)
3.2.4. Liczbowe typy danych (232)
3.2.5. Typy danych w postaci ciągów tekstowych (240)
3.2.6. Typy danych dla wartości daty i czasu (256)
3.3. Jak MySQL obsługuje nieprawidłowe wartości danych? (267)
3.4. Praca z sekwencjami (270)
3.4.1. Ogólne właściwości AUTO_INCREMENT (270)
3.4.2. Właściwości AUTO_INCREMENT charakterystyczne dla silnika bazy danych (272)
3.4.3. Kwestie dotyczące kolumn AUTO_INCREMENT (275)
3.4.4. Wskazówki pomocne podczas pracy z kolumnami AUTO_INCREMENT (276)
3.4.5. Generowanie sekwencji bez AUTO_INCREMENT (278)
3.5. Obliczanie wyrażeń i konwersja typu (280)
3.5.1. Tworzenie wyrażeń (281)
3.5.2. Konwersja typu (289)
3.6. Wybór typu danych (297)
3.6.1. Jakie wartości będą przechowywane w kolumnie? (299)
3.6.2. Czy przechowywane wartości pochodzą z określonego zakresu? (302)
Rozdział 4. Widoki i programy składowane (305)
4.1. Używanie widoków (306)
4.2. Używanie programów składowanych (309)
4.2.1. Zapytania złożone i ograniczniki zapytań (310)
4.2.2. Procedury i funkcje składowane (311)
4.2.3. Wyzwalacze (316)
4.2.4. Zdarzenia (318)
4.3. Zapewnienie bezpieczeństwa widokom i programom składowanym (320)
Rozdział 5. Optymalizacja zapytań (323)
5.1. Użycie indeksowania (324)
5.1.1. Zalety wynikające z indeksowania (324)
5.1.2. Koszt indeksowania (327)
5.1.3. Wybór indeksów (328)
5.2. Optymalizator zapytań MySQL (333)
5.2.1. Jak działa optymalizator zapytań? (334)
5.2.2. Użycie zapytania EXPLAIN do sprawdzenia operacji optymalizatora (338)
5.3. Wybór typu danych zapewniającego efektywne wykonywanie zapytań (344)
5.4. Wybór formatu tabeli dla efektywnych zapytań (347)
5.5. Efektywne wczytywanie danych (349)
5.6. Harmonogram, blokady i współbieżność (352)
CZĘŚĆ II. UŻYCIE INTERFEJSU PROGRAMOWANIA MYSQL
Rozdział 6. Wprowadzenie do programowania MySQL (355)
6.1. Dlaczego tworzyć własne aplikacje MySQL? (355)
6.2. API dostępne dla MySQL (359)
6.2.1. API C (360)
6.2.2. API Perl DBI (360)
6.2.3. API PHP (362)
6.3. Wybór API (363)
6.3.1. Przewidywane środowisko działania (364)
6.3.2. Wydajność (365)
6.3.3. Czas potrzebny na opracowanie aplikacji (366)
6.4.3. Przenośność (367)
Rozdział 7. Tworzenie programów MySQL przy użyciu języka C (369)
7.1. Kompilacja i linkowanie programów klienckich (370)
7.2. Nawiązanie połączenia z serwerem (373)
7.3. Obsługa błędów i przetwarzanie opcji polecenia (377)
7.3.1. Sprawdzanie pod kątem błędów (377)
7.3.2. Pobieranie parametrów połączenia w trakcie działania programu (382)
7.3.3. Implementacja przetwarzania opcji w programie klienta (395)
7.4. Przetwarzanie zapytań SQL (399)
7.4.1. Obsługa zapytań modyfikujących rekordy (401)
7.4.2. Obsługa zapytań zwracających zbiór wynikowy (402)
7.4.3. Procedury obsługi zapytań ogólnego przeznaczenia (405)
7.4.4. Alternatywne podejścia do przetwarzania zapytań (407)
7.4.5. Funkcja mysql_store_result() kontra mysql_use_result() (408)
7.4.6. Używanie metadanych zbioru wynikowego (411)
7.4.7. Kodowanie znaków specjalnych i danych binarnych (416)
7.5. Program do interaktywnego wykonywania zapytań (420)
7.6. Utworzenie klienta z obsługą SSL (421)
7.7. Jednoczesne wykonywanie wielu zapytań (426)
7.8. Używanie zapytań preinterpretowanych (428)
7.9. Użycie preinterpretowanego zapytania CALL (440)
Rozdział 8. Tworzenie programów MySQL przy użyciu Perl DBI (445)
8.1. Cechy charakterystyczne skryptu Perl (446)
8.2. Ogólny opis Perl DBI (447)
8.2.1. Typy danych DBI (447)
8.2.2. Prosty skrypt DBI (448)
8.2.3. Obsługa błędów (453)
8.2.4. Obsługa zapytań modyfikujących rekordy (456)
8.2.5. Obsługa zapytań zwracających zbiór wynikowy (458)
8.2.6. Cytowanie znaków specjalnych w ciągach tekstowych zapytań (467)
8.2.7. Miejsca zarezerwowane i zapytania preinterpretowane (470)
8.2.8. Dołączanie wyniku zapytania do zmiennych skryptu (474)
8.2.9. Określenie parametrów połączenia (475)
8.2.10. Usuwanie błędów (478)
8.2.11. Używanie metadanych zbioru wynikowego (482)
8.2.12. Przeprowadzanie transakcji (486)
8.3. Praca z DBI (488)
8.3.1. Generowanie katalogu Ligi Historycznej (488)
8.3.2. Wysyłanie członkom Ligi przypomnień o konieczności przedłużenia członkostwa (495)
8.3.3. Edycja rekordu członka Ligi Historycznej (500)
8.3.4. Wyszukiwanie członków Ligi Historycznej o takich samych zainteresowaniach (506)
8.3.5. Udostępnienie w internecie katalogu Ligi Historycznej (507)
8.4. Użycie DBI w aplikacjach sieciowych (510)
8.4.1. Konfiguracja Apache w celu obsługi skryptów CGI (512)
8.4.2. Krótki opis modułu CGI.pm (513)
8.4.3. Nawiązanie połączenia z serwerem MySQL z poziomu skryptu sieciowego (521)
8.4.4. Przeglądarka bazy danych (523)
8.4.5. Przeglądarka tabel projektu ocen uczniów (528)
8.4.6. Wyszukiwanie wspólnych zainteresowań w projekcie Ligi Historycznej (531)
Rozdział 9. Tworzenie programów MySQL przy użyciu języka PHP (537)
9.1. Ogólny opis PHP (539)
9.1.1. Prosty skrypt PHP (541)
9.1.2. Użycie biblioteki plików PHP w celu hermetyzacji kodu (545)
9.1.3. Prosta strona pobierająca dane (550)
9.1.4. Przetwarzanie wyników zapytania (554)
9.1.5. Sprawdzanie pod kątem wartości NULL w wynikach zapytania (558)
9.1.6. Używanie zapytań preinterpretowanych (559)
9.1.7. Użycie miejsc zarezerwowanych do obsługi kwestii związanych z cytowaniem danych (559)
9.1.8. Obsługa błędów (561)
9.2. Praca z PHP (564)
9.2.1. Aplikacja pozwalająca na wprowadzenie wyników uzyskanych przez uczniów (564)
9.2.2. Tworzenie interaktywnego quizu w internecie (577)
9.2.3. Edycja informacji o członkach Ligi Historycznej (582)
CZĘŚĆ III. ADMINISTRACJA MYSQL
Rozdział 10. Wprowadzenie do administracji bazą danych MySQL (591)
10.1. Komponenty MySQL (592)
10.2. Ogólna administracja MySQL (593)
10.3. Kontrola dostępu i zapewnianie bezpieczeństwa (594)
10.4. Obsługa bazy danych, tworzenie kopii zapasowych i replikacja (595)
Rozdział 11. Katalog danych w MySQL (597)
11.1. Położenie katalogu danych (598)
11.2. Struktura katalogu danych (599)
11.2.1. W jaki sposób serwer MySQL zapewnia dostęp do danych? (600)
11.2.2. Przedstawienie baz danych w systemie plików (602)
11.2.3. Przedstawienie tabel w systemie plików (603)
11.2.4. Przedstawienie widoków i wyzwalaczy w systemie plików (604)
11.2.5. Jak zapytania SQL są mapowane na operacje na pliku tabeli? (604)
11.2.6. Ograniczenia systemu operacyjnego w zakresie nazw obiektów bazy danych (605)
11.2.7. Czynniki wpływające na maksymalną wielkość tabeli (607)
11.2.8. Wpływ struktury katalogu danych na wydajność systemu (609)
11.2.9. Pliki dzienników zdarzeń i stanu MySQL (611)
11.3. Przeniesienie zawartości katalogu danych (613)
11.3.1. Metody przenoszenia katalogu danych lub jego elementów (614)
11.3.2. Przygotowania do operacji przeniesienia (615)
11.3.3. Uzyskanie dostępu do wyniku przeniesienia (615)
11.3.4. Przeniesienie całego katalogu danych (617)
11.3.5. Przeniesienie poszczególnych baz danych (617)
11.3.6. Przeniesienie poszczególnych tabel (618)
11.3.7. Przeniesienie systemowej przestrzeni tabel InnoDB (618)
11.3.8. Przeniesienie plików dzienników zdarzeń i stanu (619)
Rozdział 12. Ogólna administracja bazą danych MySQL (621)
12.1. Zabezpieczenie nowej instalacji MySQL (622)
12.1.1. Definiowanie haseł dla początkowych kont MySQL (622)
12.1.2. Konfiguracja haseł dla serwerów dodatkowych (627)
12.2. Konfiguracja uruchamiania i zamykania serwera MySQL (628)
12.2.1. Uruchamianie serwera MySQL w systemach UNIX (628)
12.2.2. Uruchamianie serwera MySQL w systemach Windows (634)
12.2.3. Określanie opcji startowych serwera (637)
12.2.4. W jaki sposób serwer nasłuchuje połączeń? (639)
12.2.5. Zatrzymanie serwera (640)
12.2.6. Odzyskanie kontroli nad serwerem, gdy nie można nawiązać z nim połączenia (641)
12.3. Używanie zmiennych systemowych i stanu (644)
12.3.1. Sprawdzanie i ustawienie wartości zmiennych systemowych (645)
12.3.2. Sprawdzenie wartości zmiennej stanu (649)
12.4. Interfejs wtyczek (651)
12.5. Konfiguracja silnika bazy danych (654)
12.5.1. Wybór silnika bazy danych (655)
12.5.2. Wybór domyślnego silnika bazy danych (656)
12.5.3. Konfiguracja silnika InnoDB (656)
12.6. Kwestie związane z globalizacją (664)
12.6.1. Konfiguracja obsługi stref czasowych (664)
12.6.2. Ustawienie domyślnego kodowania znaków i kolejności sortowania (667)
12.6.3. Wybór języka wyświetlania komunikatów błędów (667)
12.6.4. Wybór ustawień językowych (668)
12.7. Dostrajanie serwera (668)
12.7.1. Zmienne systemowe ogólnego przeznaczenia do dostrajania serwera (670)
12.7.2. Dostrajanie silnika bazy danych (673)
12.7.3. Używanie bufora zapytań (680)
12.7.4. Optymalizacje sprzętowe (682)
12.8. Dzienniki zdarzeń serwera (684)
12.8.1. Dziennik błędów (687)
12.8.2. Ogólny dziennik zapytań (688)
12.8.3. Dziennik wolno wykonywanych zapytań (689)
12.8.4. Binarny dziennik zdarzeń (690)
12.8.5. Dziennik przekazywania (692)
12.8.6. Rejestracja zdarzeń w tabelach (692)
12.8.7. Zarządzanie dziennikami zdarzeń (693)
12.9. Uruchamianie wielu serwerów MySQL (701)
12.9.1. Ogólne kwestie związane z uruchamianiem wielu serwerów (702)
12.9.2. Konfiguracja i kompilacja różnych serwerów (705)
12.9.3. Strategie podawania opcji startowych (707)
12.9.4. Użycie skryptu mysqld_multi do zarządzania serwerem (708)
12.9.5. Uruchamianie wielu serwerów w Windows (710)
12.9.6. Uruchamianie klientów wielu serwerów (712)
12.10. Uaktualnianie MySQL (712)
Rozdział 13. Bezpieczeństwo i kontrola dostępu (715)
13.1. Zabezpieczenie dostępu do MySQL przez system plików (716)
13.1.1. Jak ukraść dane? (717)
13.1.2. Zabezpieczenie instalacji MySQL (718)
13.2. Zarządzanie kontami użytkowników w MySQL (725)
13.2.1. Zarządzanie kontem MySQL na wysokim poziomie (727)
13.2.2. Nadawanie uprawnień (732)
13.2.3. Wyświetlanie uprawnień użytkownika (744)
13.2.4. Odbieranie uprawnień (744)
13.2.5. Zmiana hasła lub zerowanie zapomnianego (745)
13.2.6. Unikanie ryzyka związanego z kontrolą dostępu (746)
13.2.7. Wtyczki metod uwierzytelniania i użytkownicy proxy (750)
13.3. Struktura i zawartość tabel uprawnień (754)
13.3.1. Istniejące w tabelach uprawnień kolumny dotyczące zasięgu udzielanego dostępu (757)
13.3.2. Istniejące w tabelach uprawnień kolumny uprawnień (758)
13.3.3. Istniejące w tabelach uprawnień kolumny uwierzytelnienia (759)
13.3.4. Istniejące w tabelach uprawnień kolumny dotyczące SSL (759)
13.3.5. Istniejące w tabelach uprawnień kolumny zarządzania zasobami (760)
13.4. W jaki sposób serwer kontroluje dostęp uzyskiwany przez klientów? (761)
13.4.1. Zawartość kolumn zasięgu (762)
13.4.2. Weryfikacja uprawnień zapytania (764)
13.4.3. Kolejność dopasowania kolumn zasięgu (766)
13.4.4. Puzzle uprawnień (767)
13.5. Konfiguracja bezpiecznych połączeń za pomocą SSL (770)
Rozdział 14. Obsługa bazy danych, kopie zapasowe i replikacja (775)
14.1. Zasady obsługi profilaktycznej (775)
14.2. Obsługa bazy danych w działającym serwerze (777)
14.2.1. Blokowanie poszczególnych tabel w celu uzyskania dostępu tylko do odczytu lub odczytu i zapisu (779)
14.2.2. Nałożenie na wszystkie bazy danych blokady pozwalającej jedynie na ich odczyt (782)
14.3. Ogólne działania profilaktyczne (783)
14.3.1. Używanie możliwości serwera w zakresie automatycznej naprawy (783)
14.3.2. Harmonogram działań profilaktycznych (784)
14.4. Tworzenie kopii zapasowej bazy danych (785)
14.4.1. Cechy charakterystyczne przenośności silników bazy danych (788)
14.4.2. Tworzenie kopii zapasowej za pomocą narzędzia mysqldump (790)
14.4.3. Tworzenie binarnej kopii zapasowej (793)
14.4.4. Tworzenie kopii zapasowej tabel InnoDB (795)
14.5. Kopiowanie baz danych do innego serwera (796)
14.5.1. Kopiowanie bazy danych za pomocą pliku kopii zapasowej (797)
14.5.2. Kopiowanie baz danych z jednego serwera do innego (798)
14.6. Sprawdzanie i naprawianie tabel bazy danych (798)
14.6.1. Sprawdzanie tabel za pomocą zapytania CHECK TABLE (800)
14.6.2. Naprawa tabel za pomocą zapytania REPAIR TABLE (801)
14.6.3. Użycie narzędzia mysqlcheck do sprawdzania i naprawy tabel (801)
14.7. Użycie kopii zapasowej do przywrócenia danych (803)
14.7.1. Przywracanie całych baz danych (803)
14.7.2. Przywracanie poszczególnych tabel (804)
14.7.3. Ponowne wykonanie zapytań zapisanych w plikach binarnego dziennika zdarzeń (805)
14.7.4. Rozwiązywanie problemów związanych z automatyczną naprawą w InnoDB (807)
14.8. Konfiguracja serwerów replikacji (809)
14.8.1. Jak działa replikacja? (809)
14.8.2. Utworzenie relacji typu główny - podległy (811)
14.8.3. Formaty rejestracji zdarzeń w dzienniku binarnym (815)
14.8.4. Użycie serwera podległego replikacji do tworzenia kopii zapasowych (815)
DODATKI
Dodatek A. Oprogramowanie wymagane do użycia tej książki (819)
A.1. Pobranie dystrybucji sampdb zawierającej przykładową bazę danych (819)
A.2. Pobieranie serwera MySQL i powiązanego z nim oprogramowania (820)
A.3. Instalacja MySQL (822)
A.3.1. Tworzenie konta logowania dla użytkownika MySQL (823)
A.3.2. Instalacja MySQL (823)
A.3.3. Konfiguracja zmiennej środowiskowej PATH (824)
A.3.4. Inicjalizacja katalogu danych i tabel uprawnień (825)
A.3.5. Uruchamianie serwera (826)
A.3.6. Inicjalizacja innych tabel systemowych (827)
A.4. Informacje dotyczące instalacji Perl DBI (828)
A.5. Informacje dotyczące instalacji PHP i PDO (829)
Dodatek B. Przewodnik po typach danych (831)
B.1. Typy liczbowe (833)
B.1.1. Typy liczb całkowitych (834)
B.1.2. Typy liczb o stałej ilości cyfr (836)
B.1.3. Typy liczb zmiennoprzecinkowych (836)
B.1.4. Typ BIT (837)
B.2. Typy tekstowe (838)
B.2.1. Typy binarnych ciągów tekstowych (840)
B.2.2. Typy niebinarnych ciągów tekstowych (842)
B.2.3. Typy ENUM i SET (845)
B.3. Typy daty i godziny (845)
Dodatek C. Przewodnik po operatorach i funkcjach (851)
C.1. Operatory (852)
C.1.1. Kolejność operatorów (852)
C.1.2. Operatory grupowania (853)
C.1.3. Operatory arytmetyczne (854)
C.1.4. Operatory porównania (856)
C.1.5. Operatory bitowe (861)
C.1.6. Operatory logiczne (862)
C.1.7. Operatory rzutowania (864)
C.1.8. Operatory dopasowania wzorca (865)
C.2. Funkcje (869)
C.2.1. Funkcje porównań (870)
C.2.2. Funkcje rzutowania (872)
C.2.3. Funkcje liczbowe (873)
C.2.4. Funkcje ciągu tekstowego (878)
C.2.5. Funkcje daty i godziny (892)
C.2.6. Funkcje podsumowań (907)
C.2.7. Funkcje zapewnienia bezpieczeństwa oraz związane z kompresją (911)
C.2.8. Funkcje nakładania blokad doradczych (915)
C.2.9. Funkcje związane z adresem IP (917)
C.2.10. Funkcje XML (919)
C.2.11. Funkcje przestrzenne (920)
C.2.12. Różne funkcje (920)
Dodatek D. Przewodnik po zmiennych systemowych, stanu i użytkownika (927)
D.1. Zmienne systemowe (927)
D.1.1. Zmienne systemowe InnoDB (972)
D.2. Zmienne stanu (987)
D.2.1. Zmienne stanu InnoDB (994)
D.2.2. Zmienne stanu bufora zapytań (998)
D.2.3. Zmienne stanu SSL (999)
D.3. Zmienne zdefiniowane przez użytkownika (1000)
Dodatek E. Przewodnik po składni SQL (1003)
E.1. Składnia zapytań SQL (zapytania niezłożone) (1004)
E.2. Składnia zapytań SQL (zapytania złożone) (1103)
E.2.1. Polecenia struktury kontrolnej (1103)
E.2.2. Zapytania obsługi deklaracji (1105)
E.2.3. Zapytania obsługi kursora (1107)
E.2.4. Zapytania obsługi warunków (1108)
E.3. Składnia komentarzy (1112)
Dodatek F. Przewodnik po programie SQL (1115)
F.1. Wyświetlanie komunikatu pomocy programu (1116)
F.2. Określanie opcji programu (1117)
F.2.1. Opcje standardowe programu MySQL (1119)
F.2.2. Pliki opcji (1124)
F.2.3. Zmienne środowiskowe (1129)
F.3. Narzędzie myisamchk (1130)
F.3.1. Opcje standardowe obsługiwane przez myisamchk (1132)
F.3.2. Opcje charakterystyczne dla myisamchk (1132)
F.3.3. Zmienne narzędzia myisamchk (1136)
F.4. mysql (1137)
F.4.1. Opcje standardowe obsługiwane przez mysql (1139)
F.4.2. Opcje charakterystyczne dla mysql (1140)
F.4.3. Zmienne programu mysql (1145)
F.4.4. Polecenia programu mysql (1145)
F.4.5. Sekwencje definiujące znak zachęty mysql (1148)
F.5. mysql.server (1150)
F.5.1. Opcje obsługiwane przez mysql.server (1150)
F.6. mysql_config (1150)
F.6.1. Opcje charakterystyczne dla mysql_config (1151)
F.7. Skrypt mysql_install_db (1152)
F.7.1. Opcje standardowe obsługiwane przez mysql_install_db (1152)
F.7.2. Opcje charakterystyczne dla mysql_install_db (1152)
F.8. mysql_upgrade (1153)
F.8.1. Opcje standardowe obsługiwane przez mysql_upgrade (1153)
F.8.2. Opcje charakterystyczne dla mysql_upgrade (1154)
F.9. mysqladmin (1154)
F.9.1. Opcje standardowe obsługiwane przez mysqladmin (1154)
F.9.2. Opcje charakterystyczne dla mysqladmin (1155)
F.9.3. Zmienne dla mysqladmin (1155)
F.9.4. Polecenia mysqladmin (1156)
F.10. mysqlbinlog (1158)
F.10.1. Opcje standardowe obsługiwane przez mysqlbinlog (1159)
F.10.2. Opcje charakterystyczne dla mysqlbinlog (1159)
F.10.3. Zmienne dla mysqlbinlog (1162)
F.11. mysqlcheck (1163)
F.11.1. Opcje standardowe obsługiwane przez mysqlcheck (1163)
F.11.2. Opcje charakterystyczne dla mysqlcheck (1163)
F.12. mysqld (1167)
F.12.1. Opcje standardowe obsługiwane przez mysqld (1168)
F.12.2. Opcje charakterystyczne dla mysqld (1168)
F.12.3. Zmienne dla mysqld (1180)
F.13. mysqld_multi (1180)
F.13.1. Opcje standardowe obsługiwane przez mysqld_multi (1180)
F.13.2. Opcje charakterystyczne dla mysqld_multi (1181)
F.14. mysqld_safe (1181)
F.14.1. Opcje standardowe obsługiwane przez mysqld_safe (1182)
F.14.2. Opcje charakterystyczne dla mysqld_safe (1182)
F.15. mysqldump (1184)
F.15.1. Opcje standardowe obsługiwane przez mysqldump (1184)
F.15.2. Opcje charakterystyczne dla mysqldump (1185)
F.15.3. Oferowane przez mysqldump opcje formatu danych (1193)
F.15.4. Zmienne dla mysqldump (1193)
F.16. mysqlimport (1194)
F.16.1. Opcje standardowe obsługiwane przez mysqlimport (1194)
F.16.2. Opcje charakterystyczne dla mysqlimport (1194)
F.16.3. Oferowane przez mysqlimport opcje formatu danych (1196)
F.17. mysqlshow (1196)
F.17.1. Opcje standardowe obsługiwane przez mysqlshow (1197)
F.17.2. Opcje charakterystyczne dla mysqlshow (1197)
F.18. perror (1198)
F.18.1. Opcje standardowe obsługiwane przez perror (1198)
Skorowidz (1199)