6.14. phpMyAdmin - webová správa MySQL

6.14.1. Opakování

1 Spusťte z řídícího panelu XAMPP servery Apache a MySQL XAMPP
2 Spusťte phpMyAdmin tlačítkem Admin a všimněte si IP adresy v prohlížeči XAMPP

6.14.2. phpMyAdmin

3 Zkontrolujte si cestu k instalaci MySQL příkazem
show variables like 'basedir';
záložka SQL
4 Zkontrolujte znakové sady serveru příkazem
show variables like 'character_set%';

6.14.3. Vytvoření tabulky a vkládání dat

5 Vytvořte databázi jprijmeni (dosaďte své jméno a příjmení) se znakovou sadou utf8_czech_ci Home - zál. Databáze
6 Zvolte databázi jprijmeni jako aktuální  
7 Vytvořte tabulku typy_dat s 4 sloupci zál. Struktura

Celočíselný typ dat (M= max. počet číslic - nemusí se uvádět):

Numeric
{1 byte}
TINYINT[(M)] -128 TO 127
[0 to 255 if UNSIGNED]
Numeric
{2 bytes}
SMALLINT[(M)] -32,768 to 32,767
[0 to 65,535]
Numeric
{3 bytes}
MEDIUMINT[(M)] -8,388,608 to 8,388,607
[0 to 16,777,215]
Numeric
{4 bytes}
INT[(M)], INTEGER[(M)] -2,147,483,648 to 2,147,483,647
[0 to 4,294,967,295]
Numeric
{8 bytes}
BIGINT[(M)] -/+9.223E+18
[0 to 18.45E+18]

Reálná (desetinná) čísla:

Numeric
{4 or 8}
FLOAT(p) p=0-24 --> "FLOAT"
p=25-53 --> "DOUBLE"
 
Numeric
{4 bytes}
FLOAT[(M,D)] Min=+/-1.175E-38
Max=+/-3.403E+38
M = počet míst před čárkou, D = za čárkou (DOUBLE(6,2) uloží 123456.4567 jako 123456.46)
Numeric
{8 bytes}
DOUBLE[(M,D)] Min=+/-2.225E-308
Max=+/-1.800E+308
synonymum REAL, 16 místná přesnost
Numeric
{M+2}
DECIMAL[(M,[D])] Max Range = DOUBLE range
Fixed point vs. DOUBLE float
ukládá se jako řetězec, synonymum NUMERIC, DEC - např. pro peněžní částky

Cvičení:

8 Nadefinujte strukturu tabulky typy_dat podle následujícího schématu (nezapomeňte na auto increment u primárního klíče): zál. Struktura
9 Vložte do tabulky nový řádek a vyplňte pole hodnotami odpovídajícími typům (id nevyplňujte, u reálného čísla se desetinná část odděluje tečkou) zál. Vložit

Textové řetězce (strings)

String
{M char's}
CHAR[(M)] M=0-255 Characters, FIXED pevná délka řetězce - doplnění do M zprava mezerami
String
{M? char's}
VARCHAR(M) M=0-65,535 Characters proměnná délka - delší řetězec než M se zkrátí na M
String
{#char's}
TINYTEXT 0-255 Characters proměnná délka, zabere místo jen podle délky řetězce
String
{#char's}
TEXT 0-65,535 Char's
String
{#char's}
MEDIUMTEXT 0-16,777,215 Char's
String
{#char's}
LONGTEXT 0-4,294,967,295 Char's

Cvičení:

10 Přidejte do tabulky typy_dat sloupce podle následujícího schématu: zál. Struktura
11 Upravte první řádek tabulky doplněním hodnot do nově přidaných textových polí (poznámku napište delší než 20 znaků) zál. Projít - Upravit

Binární řetězce

String
{M bytes}
BINARY[(M)] M=0-255 bytes, FIXED podobné CHAR
String
{M bytes}
VARBINARY(M) 0-65,535 bytes podobné VARCHAR
String
{#bytes}
TINYBLOB 0-255 bytes Binary Large Object - multimédia - obrázky, zvuky
String
{#bytes}
BLOB 0-65,535 bytes
String
{#bytes}
MEDIUMBLOB 0-16,777,215 bytes
String
{#bytes}
LONGBLOB 0-4,294,967,295 bytes
String
{1-2 bytes}
ENUM
("A1","A2",...)
Column is exactly 1 of values (1-255 values)  
String
{1-8 bytes}
SET
("A1","A2",...)
Column is 0 or more values in list
(1-64 members)
 

Typy Datum a čas

Date & Time
{3 bytes}
DATE "1000-01-01" - "9999-12-31" YYYY-MM-DD
Date & Time
{8 bytes}
DATETIME "1000-01-01 00:00:00" -
"9999-12-31 23:59:59"
YYYY-MM-DD hh:mm:ss
Date & Time
{3 bytes}
TIME "-838:59:59" - "838:59:59" hh:mm:ss
Date & Time
{4 bytes}
TIMESTAMP 19700101000000 -
2037+
YYYYMMDDhhmmss
aktualizuje se při každé změně záznamu, nelze editovat
Date & Timee
{1 bytes}
YEAR 1900 - 2155 YYYY

Cvičení:

12 Přidejte do tabulky typy_dat sloupce podle následujícího schématu (u obrázku je nutno nastavit ještě transformaci při prohlížení Image/JPEG inline): zál. Struktura
13 Upravte první řádek tabulky doplněním obrázku ze zvoleného souboru (pokud se objeví při ukládání chyba, obrázek je moc velký) zál. Projít - Upravit
14 Přidejte do tabulky nový řádek s odpovídajícími hodnotami (v tabulce tedy budou 2 řádky) zál. Vložit
15 Vytvořte 2 PDF soubory jako dokumentaci k vytvořené tabulce:
typy_dat_struktura.pdf
typy_dat_radky.pdf
Struktura - Náhled pro tisk
Projít - Náhled pro tisk

6.14.4. Cvičení - tabulka cenik

16 Vytvořte v databázi jprijmeni novou tabulku cenik zál. Databáze - Struktura
17 Nadefinujte sloupce tabulky cenik:
id = celočíselný primární klíč s automatickým navyšováním
nazev = textový řetězec s max. délkou 30 znaků, bude se z něj vytvářet index
cena = nezáporné celé číslo s defaultní hodnotou 0
popis = víceřádkový popis do 65535 znaků
datum = časové razítko
obrazek = jpg obrázek s fotkou předmětu
zál. Tabulka - Struktura
18 Vložte do tabulky min. 5 řádků s vyplněnými údaji včetně obrázků zál. Vložit
19 Vytvořte 2 PDF soubory jako dokumentaci k vytvořené tabulce:
cenik_struktura.pdf
cenik_radky.pdf
Struktura - Náhled pro tisk
Projít - Náhled pro tisk
20 4x PDF soubor uložte na fileserver do nově očíslované složky FileZilla