11.07.2015 Views

Untitled - Vitajte na stránkach www.einsty.hostujem.sk

Untitled - Vitajte na stránkach www.einsty.hostujem.sk

Untitled - Vitajte na stránkach www.einsty.hostujem.sk

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

P R O G R A M U J E M EMalé ve¾ké databázy / 4. èasUž vieme, ako <strong>na</strong>inštalova , spusti a zastavi MySQL server, ba vieme sa aj prihlási ako roota zmeni si heslo, takže nám už niè nebráni, aby sme s ním zaèali pracova . Ako sme užuviedli, <strong>na</strong> komunikáciu so serverom používame súbor SQL príkazov. Na zadávanie týchtopríkazov môžeme použi už známeho klienta MySQL Monitor (program mysql) alebo súborpomocných programov. Ak sa chceme o možnostiach toho-ktorého pomocného programudozvedie viac, spustíme ho s parametrom –help alebo –h. V struènej nápovedi zistíme základnéparametre daného programu. Pre názornos budeme príkazy pre klienta mysqloz<strong>na</strong>èova promptom mysql>, bez tohto promptu uvažujeme pomocné programy vprostredí príslušného operaèného systému. Takisto budeme príkazy písa malými písme<strong>na</strong>mi,lebo klient mysql akceptuje aj malé písmená.Základné príkazy SQLMySQL obsahuje množinu príkazov pod¾a normy SQL92, my však budeme zatia¾ využívaiba základnú <strong>sk</strong>upinu, ktorá je opísaná v tabu¾ke è. 1.Príkazcreate tabledrop tablealter tableinsert intoupdatedeleteselectOpisvytvorenie tabu¾kyzmazanie tabu¾kyúprava štruktúry tabu¾kyvloženie záz<strong>na</strong>mu do tabu¾kyúprava záz<strong>na</strong>mu v tabu¾kevymazanie záz<strong>na</strong>mu v tabu¾kevýpis z tabu¾kyZ tabu¾ky je zrejmé, že <strong>na</strong> základnú èinnos so serverom postaèuje sedem príkazov.Azda <strong>na</strong>jdôležitejším príkazom je SELECT. Jednotlivé príkazy a ich možnosti si objasnímepostupne, ako budeme vytvára <strong>na</strong>šu databázu.Naša prvá databázaAko sme spomenuli, budeme pracova s databázou KNIZNICA a s tabu¾kami v nejuloženými. Vieme, že MySQL server po inštalácii obsahuje dve základné databázy –MYSQL a TEST. Preto musíme databázu KNIZNICA vytvori sami.položka cis_odd bola zároveò primárnym k¾úèom a aby mala autoinkrementaènúschopnos . To z<strong>na</strong>mená, aby sa vždy po pridaní nového záz<strong>na</strong>mu automaticky zväèšilajej hodnota o 1.Aby sme vytvorili tabu¾ku ZANER, spustíme klienta mysql s parametrom kniznica, èímsa automaticky <strong>na</strong>stavíme do prostredia databázy KNIZNICA. Odteraz príkazy, ktorébudeme zadáva , sa budú týka databázy KNIZNICA a tabuliek v nej. Vytvorenie samotnejtabu¾ky vykonáme príkazom:mysql > create table zaner (cis_odd int auto_increment primary key,tematika varchar(20));Ak je riadok príkazu ve¾mi dlhý, stlaèíme Enter a pokraèujeme <strong>na</strong> novom riadku za šípkou.Spomeòme si, že príkaz klienta sa vykoná až po zadaní bodkoèiarky a stlaèení Enter.Obr. 2Ak sme neurobili v zápise nijakú chybu, server potvrdí vyko<strong>na</strong>nie príkazu hlásenímQuery OK, tak ako je to <strong>na</strong> obrázku è. 2.Podobným spôsobom si vytvoríme aj tabu¾ku KNIHA. Polia tabu¾ky budú ma tietonázvy a typy, ako sú opísané v tab. è. 2.Názov po¾aid<strong>na</strong>zovautorvydavatelcis_oddce<strong>na</strong>poz<strong>na</strong>mkaTyp po¾aintvarchar(40)varchar(30)varchar(25)intdecimal(7,2)varchar(25)Zadaním príkazu:mysql > create table kniha (-> id int auto_increment primary key,-> <strong>na</strong>zov varchar(40),-> autor varchar(30),-> vydavatel varchar(25),-> cis_odd int,-> ce<strong>na</strong> decimal(7,2),-> poz<strong>na</strong>mka varchar(25));Obr. 1Na vytvorenie databázy použijeme program mysqladmin s vo¾bou create meno_databázy. Takže zadáme:mysqladmin create kniznicaAby sme sa presvedèili, èi <strong>na</strong>ozaj všetko prebehlo v poriadku, použijeme ïalší pomocnýprogrammysqlshowkde <strong>na</strong> obrazovke uvidíme výpis jednotlivých databáz, vytvorených <strong>na</strong> <strong>na</strong>šom serveri.Môžeme použi aj klienta mysql, v ktorom zadáme príkaz pre klienta:mysql> show databases;Odpoveï servera <strong>na</strong> tento príkaz by mala by taká ako <strong>na</strong> obr. è. 1.Tabu¾kyTeraz máme vytvorenú databázu KNIZNICA. Zatia¾ je prázd<strong>na</strong>, ale vieme, že bude obsahova(doèasne iba dve) tabu¾ky ZANER a KNIHA. Tabu¾ka sa vytvorí príkazom:create table meno_tabulky (položka1 typ_položky1, položka2 typ_položky2,...,položkantyp_položkyn)kde meno_tabulky je konkrétne meno, <strong>na</strong>pr. ZANER, a v zátvorkách sa uvádza menopoložky a jej daný typ.Tabu¾ka ZANER má iba dve položky – cis_odd, ktorá je typu int, a tematika, ktoráje typu varchar s poètom z<strong>na</strong>kov do 20. Z konštruktívneho h¾adi<strong>sk</strong>a je vhodné, aby prvásme vytvorili druhú tabu¾ku s názvom KNIHA.Typ id int auto_increment a varchar už poznáme, typ decimal(7,2) z<strong>na</strong>mená, že je toèíselná hodnota <strong>na</strong> sedem miest, z èoho dve sú za desatinnou èiarkou (v poèítaèovomprostredí bodkou). Maximál<strong>na</strong> hodnota tohto výrazu je teda 99999,99, èo je, myslím, <strong>na</strong>cenu knihy postaèujúce.Aby sme sa presvedèili, že sme <strong>sk</strong>utoène vytvorili tabu¾ku KNIHA, spustíme program:mysqlshow kniznicaèím zobrazíme všetky tabu¾ky v databáze KNIZNICA.Môžeme zada príkaz pre klienta:mysql > describe kniha;Tak dostaneme štruktúru tabu¾ky, tak ako je <strong>na</strong> obr. è. 3.Takýmto spôsobom si môžeme overi , èi sme tabu¾ku <strong>na</strong>definovali správne.Keby sme z akéhoko¾vek dôvodu potrebovali tabu¾ku vymaza , použijeme príkaz:mysql > drop table meno_tabu¾ky;Po použití tohto príkazu je tabu¾ka nenávratne stratená, takže ho používajme s rozvahou!Napåòanie tabuliekAk sme úspešne vytvorili tabu¾ky, môžeme ich zaèa <strong>na</strong>påòa vhodnými informáciami. Na<strong>na</strong>påòanie tabuliek sa používa príkaz INSERT INTO v takomto tvare:insert into meno_tabu¾ky (meno_1_položky, meno_2_položky, meno_n_položky)VALUES (hodnota_1_položky, hodnota_2_položky, ..., hodnota_n_položky)Ak budeme dopåòa položky v presnom poradí, tak ako sú <strong>na</strong>definované v tabu¾ke, nemusímev zápise príkazu vypisova názvy jednotlivých položiek pred slovom VALUES(=hodnoty). Tým si trochu zjednodušíme zápis.128 PC REVUE 12/2000

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!