Úvod do jazyka MySQL, phpMyAdmin

Možno ste ostali sklamaní alebo vás to trocha zarmútilo, že načo sa po jazykoch HTML, CSS a PHP ideme učiť nejaký ďalší nový jazyk. Opäť nejaké nové pravidlá, príkazy a syntax. Nemusíte mať ale obavy, tento jazyk je úplne jednoduchý a obsahuje len niekoľko príkazov, s ktorých kombináciami vieme dosiahnut všetko, čo potrebujeme, takže to naozaj nebude zložité. Ako sme si už povedali na záver poslednej prednášky, dôvod vzniku tohto jazyka, jazyka na správu databáz, bol zautomatizovanie úkonov s databázou.

 

Predstavte si prácu s tabuľkou napríklad v Exceli. Čo v nej štandardne robíte? Pomenujete nejaký stĺpec, vložíte nejaké údaje do bunky, skopírujete nejaké dáta, zmeníte nejaké dáta v nejakých bunkách, niečo vymažete a podobne. Keďže cieľom tohto jazyka bolo zautomatizovať, resp. povoliť počítaču, aby pomocou nejakého kódu (príkazov) robil tieto veci sám namiesto používateľa, vznikli špecifické príkazy, ktoré simulujú (nahrádzajú) presne túto manuálnu prácu používateľa. Vzhľadom k tomu dostal tento jazyk názov Structured Query Language (štruktúrovaný dopytovací jazyk). Kľúčovým slovom je query (príkaz, dopyt), čo je v podstate úsek kódu v jazyku SQL, ktorý zavoláme (vykonáme príkaz) s príslušnou databázou a daný kód sa v nej (nad ňou) vykoná.

 

Povedali sme si, že tabuľky a celkovo databáza sú len nejaké špeciálne súbory a komunikovať s ňou sa dá pomocou tohto jazyka. Aby bola práca s databázou pre vývojárov jednoduchšia, existujú programy (systémy), pomocou ktorých sa dá s databázou manuálne pracovať (klikať) podobne ako napríklad v Exceli. Toto ale nie je hlavný cieľ vzniku týchto systémov. Ide najmä o to, aby mal používateľ (správca databázy) rýchlu možnosť vizuálne vidieť obsah databázy a jednotlivých tabuliek, ako aj možnosť meniť nastavenia databázy, tabuliek, vykonávať export dát, zálohovanie a iné operácie.

 

V tomto semestri si budeme vysvetľovať a skúšať jednotlivé príkazy jazyka MySQL priamo cez systém, ktorý máme priamo v balíčku MAMP, kde si budeme môcť jednotlivé príkazy ľahko skúšať, meniť a zároveň hneď kontrolovať ich výsledok. Takto to bude pre nás jednoduchšie a praktickejšie, v ďalšom semestri sa to naučíme implementovať do kóda jazyka PHP a náš systém tak bude vedieť automaticky komunikovať s databázou. Tento systém sa volá phpMyAdmin. Ak si spustíte program MAMP, v okne ktoré sa zobrazí máte možnosť kliknúť na Open start page, čo zobrazí štartovacie stránku tohto programu. Na tejto stránke vidíte základné informácie (nastavenia) serverov, ktoré sú spustené. V sekcii MySQL vidíte hneď v prvom riadku odkaz na phpMyAdmin, pomocou ktorého sa dostanete do tohto systému, ktorý slúži na spárvu databáz.

 

Po kliknutí na tento odkaz sa vám zobrazí systém phpMyAdmin, ktorý by mal byť na adrese:

 

http://localhost:8888/MAMP/index.php?page=phpmyadmin&language=English

 

Layout tohto programu sa skladá z ľavého a pravého bloku. V ľavom bloku je vo vrchnej časti navigačné menu s ikonkami a pod ním zobrazený zoznam databáz a následne zoznam tabuliek. Pomocou ikonky domčeka sa dostaneme na úvodnú stránku systému phpMyAdmin a pomocou poslednej ikonky dvoch zakrútených šípok do seba si refreshneme (reloadneme) práve zobrazený zoznam databáz/tabuliek. Táto akcia sa využíva po vykonaní nejakého príkazu, kde chceme vidieť zmenu po jeho vykonaní, podobne ako pri zmene kódu webstránky a jej refrešnutia v prehliadači. V zozname pod sa dá na jednotlivé databázy/tabuľky kliknúť, čím sa dostaneme do ich správy. Defaultne by sme tam mali vidieť iba testovaciu (ukážkovú) databázu s názvom information_schema, s ktorou sa ale nejdeme zbytočne zaoberať...

 

V pravom bloku je v hornej časti navigačné menu a pod ním sa zobrazuje samotný obsah sekcie, v ktorej sa nachádzame (databáza, tabuľka, nastavenia...). Nad navigačným menu je cesta, kde sa práve nachádzame, defaultne sme na domovskej stránke systému, takže by sme tam mali vidieť iba localhost:3306, čo značí doménu databázového servera, na ktorom sme (v našom prípade lokálny server) a číslo portu. Na úvodnej stránke systému vidíme jeho nastavenia, pre nás je dôležitý v podstate iba jazyk. Pre ľahšie naučenie, ak nie je tak nastavené, si nastavíme jazyk systému na angličtinu (English), aby sme sa naučili všeobecne používané výrazy. Nebojte sa, každý výraz si vždy povieme aj po slovensky.

 

Ako je vidieť, v hornom menu sa nachádzajú sekcie ako zoznam databáz (databases), SQL editor (SQL) pre zadávanie príkazov, sekcie na export, import ako aj nastavenia databázy (settings). Pre nás bude momentálne dôlžeitá sekcia SQL, kliknite na ňu. Ako vidíte, takmer nič sa v nej nenachádza okrem textového bloku (textarea), do ktorého môžeme vpísať kód v jazyku SQL a následne ho vykonať (vykonať query) pomocou tlačítka GO (poď). Táto sekcia bude pre nás v tomto semestri kľúčová, tu budeme písať a vykonávať všetok SQL kód, pomocou ktorého sa naučíme vytvárať a spravovať databázu, tabuľky a dáta v nich uložené. Výsledok si budeme priebežne pozerať pomocou prehľadu databázy/tabuľky, ktorý si o chvíľku ukážeme.

 

Ako teda vyzerá ten jazykSQL, resp. jeho syntax? Ako sme si povedali, vznikol aby simuloval, resp. nahradil manuálnu prácu používateľa s databázou. Obsahuje teda príkazy, ktoré presne definujú danú činnosť s databázou, takže existuje samostatný príkaz na vytvorenie databázy, na vytvorenie tabuľky, na zmazanie konkrétneho riadka, na pridanie stĺpca do tabuľky a podobne. Za daným príkazom (príkaz - command) vo väčšine nasleduje identifikátor (selector), ktorý určí konkrétne, čo sa má zmazať/pridať/zmeniť, čiže buď je to názov tabuľky/databázy/stĺpca. Okrem toho existuje ešte zopár klauzúl (klauzula – clause), pomocou ktorých vieme daný príkaz bližšie špecifikovať, napríklad aplikovať na riadky, ktoré majú poradové číslo väčšie ako 20 a podobne, niečo podobné ako IF podmienka v jazyku PHP. Za každým príkazom budeme dávať bodkočiarku. V prípade jedného príkazu to nie je nutné, v jednom query však môžeme mať aj 5 príkazov za sebou, ktoré sa oddeľujú bodkočiarkou. Hodnoty príkazov, ako napríklad názov databázy/tabuľky/stĺpca alebo konkrétna hodnota bunky (údaj), sa zadávajú podobne ako v jazyku PHP do úvodzoviek, v prípade čísiel to nie je nutné. Dosť už ale bolo rečí, začneme konečne s kódom.

 

Na začiatok si ukážeme základný príkaz, ktorý slúži na vytvorenie databázy. Jeho názov je CREATE DATABASE (vytvor databázu - dve slová oddelené medzerou), za ktorým nasleduje názov databázy, ktorým chceme našu databázu pomenovať a na konci bodkočiarka. Všimnite si, že pri písaní v editore nám po začatí písania názvu príkazu editor ponúka našepkávanie – dopĺňanie. Na začiatok si teda vytvorme našu vlastnú databázu s názvom zapr_db_1 (zacni-programovat, databáza číslo 1). Názvy príkazov budeme spravidla písať veľkým písmenom, aby boli prehľadnejšie identifikovateľné od ostatného obsahu príkazu, napríklad od konkrétnych hodnôt príkazov. Kód by mal teda vyzerať nasledovne:


CREATE DATABASE zapr_db_1;


Kliknite na GO a všimnite si, čo sa stane po vykonaní príkazu. V pravom bloku systému sa zobrazí správa o vykonaní príkazu. V našej správe je ikonka fajky, čo znamená úspešné vykonanie príkazu, za ktorým nasleduje text MySQL returned an empty result set, čo znamená, že náš príkaz nevrátil žiadne dáta, čo je v tomto prípade v poriadku, lebo sme o žiadne nežiadali, iba sme vytvorili databázu. Pozrite sa do ľavého bloku na zoznam databáz, v ktorom by mala pribudnúť naša databáza s názvom zapr_db_1. Ak sa nezobrazila, kliknite na tlačítko refresh v hornom menu ľavého bloku a naša databáza by sa tam mal následne zobraziť.

 

Skúste zadať nesprávny príkaz, prepnite sa znova do sekcie SQL (buď v hornom menu alebo kliknite na show query box – zobraziť príkazový box) a zadajte napríklad CREATE DAT a kliknite na tlačítko go. Pod editorom sa nám zobrazí error, ktorý nám hovorí, že máme chybu v našej syntaxi a vypíše, kde asi (near 'dat' at line 1), takže sme zadali niečo zle. Toto sme si len ukázali, aby sme vedeli čo robiť, keď sa nám to zobrazí.

 

Predchádzajúcim príkazom sme iba vytvorili databázu s daným názvom, nič viac. Keď už máme vytvorenú databázu, následne v nej môžeme vytvoriť tabuľky, s ktorými budeme vedieť pracovať (správa dát). Keďže môžeme mať databáz viacej a chceme vykonávať viacero príkazov, ktoré databázu ovplyvňujú, je potrebné určiť, ktorú databázu ideme použiť, resp. nad ktorou chceme vykonávať dané príkazy. Na to slúži príkaz USE (použiť), za ktorým nasleduje iba názov databázy. Po tomto príkaze môžeme zadať ostatné príkazy, ktoré už budú viazané na našu databázu. Kód iba príkazu use vyzerá nasledovne:


USE zapr_db_1;


Po zavolaní tohto príkazu sa nič momentálne neudeje, slúži len na špecifikovanie, nad ktorou databázou sa majú vykonať ostatné príkazy v query. V nasledujúcich kapitolách bude tento príkaz na začiatku našej query.

Máte nejakú otázku alebo Vám niečo nie je jasné? Napíšte nám na info@zacni-programovat.sk a poradíme!

Ťažko sa vám učí samému?

Máte problémy s niektorými časťami alebo sa neviete učiť sám? Využite našu možnosť individuálnej asistencie:

  • samostatný prístup
  • vysvetlenie nejasností prebraného učiva
  • úlohy a cvičenia navyše
  • všetko z pohodlia domova cez mail a skype

Pre viac info kliknite tu

Kľúčové slová prednášky

mysqlmysql vytvorenie databazyako vytvorit databazuphpmyadminmamp sqladmin sqlsql adminuvod do mysqlcreate databaseuse database

IT ftip

Jeden mladý muž hovoril: - Chcem byť veľkým spisovateľom. Pýtali sa ho: - A čo pre teba znamená veľký? Odpovedal: - To znamená, že chcem písať niečo, čo bude čítať celý svet, niečo, čo prinúti ľudí jednať emocionálne, niečo, čo ich prinúti jačať, kričať, šalieť a revať od zlosti, zúfalstva a bolesti! A teraz pracuje pre Microsoft a píše chybové hlášky.