Sunteți pe pagina 1din 22

Tutorial MySQL

Tutorial MySQL 2005 by hwcore@linuxmail.org

Cuprins

1. 2. 3. 4. . !. ". #. &. 1'. 11. 12. 13. 14. 1 . 1!. 1". 1#. 1&.

Cuvant inainte Pornirea server-ului MySQL Pornirea client-ului MySQL Afisarea bazelor de date Selectarea bazei de date curente Creearea bazei de date Creearea tabelelor Creearea ca$%urilor Afisarea %ro%rietatilor tabelului Afisarea intrarilor dintr-un tabel Adau(area datelor Afisarea conditionata a rezultatelor Sortarea intrarilor din ca$%uri Modificarea structurii unui tabel Ster(erea ca$%urilor Modificarea nu$elui tabelului Actualizarea valorilor Ster(erea tabelului si a bazei de date )nc*eiere

1. Cuvant inainte Bine ati (re)venit la cel de-al patrulea (4) tutorial. Pentru cei ce citesc pentru prima data un tutorial scris de mine enumar celelalte trei (3) tutoriale de pana acum respectiv Administrare si configurare Slackware linux, Subtitrare DVD si Configurarea retelei Windows 9x/Me/NT/ !!!/"#. Tutorialele mentionate mai sus vin de asemenea in format PDF si au fost editate su suita !ffice, !pen!ffice.or". #per ca cei ce mi-au citit celelalte trei tutoriale sa fi fost multumiti de munca ce am depus-o intru conceperea lor. De asemenea sper sa le fi fost si utile si sa le fi usurat munca si sa-i fi scutit de ataile de cap ce le-am avut si eu la randul meu...la vremea aceea $) De ce m-am am itionat sa scriu tutorialele % Pentru a deveni faimos in lumea &T "arante' ca nu. (u, acesta nu a fost scopul ci le-am scris pentru a usura viata multora dintre voi asa cum si a mea a fost usurata de nenumarati autori de tutoriale sau carti de specialitate de la care am invatat cam tot ceea ce stiu eu si tin sa le multumesc (indirect caci nu vor avea cum sa citeasca aceste randuri) pentru efortul depus. #i pentru ca nimeni nu s-a nascut invatat doresc sa a)ut pe aceeia dintre voi care au nevoie de a)utor in acest domeniu, cel al a'elor de date M$S%&. De ce *+#,- % (u pot sa va dau decat trei raspunsuri la aceasta intre are, acestea fiind si motivele pentru care eu si multi (foarte) multi utili'atori si companii utili'ea'a *+#,- ca server de a'e de date. Primul raspuns este$ *+#,- este oferit su licenta .P- deci este "ratuit. /l doilea raspuns$ *+#,- este suportat de catre P0P, ceea ce face utila si in acelasi timp usoara im inarea acestor activitati in creearea continutului 1e dinamic. /l treilea raspuns$ *+#,- este usor de invatat si foarte rapid spre deose ire de alternativele comerciale Fo2Pro sau !racle. Bine-nteles ca fiecare sistem de a'e de date are avanta)ele si de'avanta)ele sale insa *+#,- este special in sensul in care ofera aceeasi calitate si vite'a, a c3iar uneori mai mare decat a sistemelor de a'e de date comerciale. #istemul de a'e de date *+#,- se a'ea'a e2clusiv pe #,- (#tructured ,uer+ -an"ua"e) si m#,-, *+#,- fiind urmasul celui din urma, toate cele trei fiind opera aceluiasi consortiu diferenta constand in "ratuitatea celui din urma si ine-nteles si datorita multitidinii de noi facilitati oferite de acesta. #erver-ul si clientul *+#,- este disponi il (si) su 1indo4s si se poate descarca fie su forma e2ecuta ila fie su forma de cod sursa. /m 'is si su 1indo4s deoarece *+#,- si fratii lui mai mari au fost la inceput implementati pe sisteme 5ni2. (-inu267ni2) urmand apoi sa fie portate si pe platforma 1indo4s. -asand la operte faptul ca sunt fan -inu2 pot spune ca *+#,- rulea'a mult mai rapid pe -inu2 decat pe 1indo4s, deci, in ca'ul in care va "a'duiti pa"ina 1e pe un server

ce suporta *+#,- cautati unul care sa rule'e -inu2 ca sistem de operare. 82perienta si testele ce le-am efectuat releva faptul ca *+#,- rulea'a si mai sta il pe -inu2 decat su 1indo4s. (indiferent ca a fost vor a de1indo4s 9::: #erver sau 1indo4s 9::3 #erver) #i ca sa nu o mai lun"esc atat de mult, inainte de a incepe prorpriu-'is mai ter uie sa mentione' ca acest tutorial a fost coneput in ideea in care fiecare dintre cititori stie ceea ce este un sistem de a'e de date fie el relational sau nu. Pentru ca ma)oritatea dintre cititori utili'ea'a 1indo4s ca sistem de operare, screens3ot-urile din acest tutorial vor releva mediul *+#,- si comportamentul acestuia su aceasta platforma. ATENIE: ;ontinutul de fata nu constutuie o alternativa la un material de specialitate < Pentru aceasta consultati documentatia *+#,- sau o carte de specialitate. 2. Pornirea server-ului MySQL Modul in care pornim serverul MySQL este dependent de tipul de sistem de operare pe care-l rulam. Astfel, pentru un sistem de operare bazat pe kernel NT, se lanseaza apeland e ecutabilul !mys"ld-nt#, altfel doar prin !mys"ld# $MySQL daemon%. Aceste fisiere e cecutabile se afla in ! &'mys"l'bin'#. (n sfat totusi, daca rulati frecvent MySQL va recomand sa creati un fisier batc) cu care sa porniti automat server-ul MySQL la pornirea *indo+s-ului. ,entru cei ce nu stiu cum se realizeaza un fisier tip batc) $cu e tensia .bat%, va voi e plica in cele ce urmeaza& desc)ideti MS--.S prompt dand comanda !cmd# in meniul !/un# din bara de start *indo+s iesiti in radacina discului cu !cd '# tastati urmatoarea linie !copy con mys"l.bat# scrieti in fisier calea completa spre fisierul e ecutabil !mys"ld-nt# sau !mys"ld# $e & !cd c&'mys"l'bin' 0mys"ld-nt# - 0 pe a doua linie% salvati modificarile apasand combinatia de taste 12T/L345 creati un s)ortcut al acestui fisier in directorul Start(p $e & desc)ideti meniul Start, dati click stan6a pe !Startup# si selectati optiunea !7 plore# dupa care mutati sau creati s)urtcut-ul spre fisierul batc) creeat anterior

3. Pornirea clientului MySQL

-upa ce ati pornit server-ul MySQL va trebui sa rulati clientul MySQL, aplicatia ce va ofera posibilitatea sa efectuati operatii asupra bazelor de date, respectiv consola de unde furnizati comenzi server-ului MySQL. ,entru a porni clientul MySQL, desc)ideti prompt-ul MS--.S, intrati in directorul !mys"l'bin# si tatstati !mys"l# pentru a porni consola MySQL. . ima6ine ca cea de mai sus va va aparea pe terminal-ul MS--.S. 8n cazul in care server-ul MySQL nu este prote9at printr-o parola ima6inea de mai sus va trebui sa reflecte rezultatul aparut pe monitorul vostru. -aca administratorul sistemului v-a dat un username si o parola pentru conectarea la MySQL atunci va trebui sa sfecificati acestea prin urmatoarele fla6-uri& !mys"l -u utilizator -%parola .bservati ca am alipit !parola# fla6-ului !-p# $pass+ord%, altfel parola inserata de voi nu va fi recunoscuta de catre MySQL. -aca totusi, nu aveti o parola stabilita insa vreti sa va conectati la server-ul MySQL sub un alt nume de utilizator, folositi& !mys"l -u utilizator# 8ma6inea de mai 9os arata modul in care au fost date directivele MySQL&

.k, daca totul a decurs conform planului vom incepe prin a da comenzi serverului MySQL. ,entru inceput vom afisa bazele de date continute de MySQL dand comanda& 4. Afisarea bazelor de date !show databases:# .bservati !:# din e eplul de mai sus. 7le reprezinta terminatorul de comanda MySQL si arata server-ului unde se termina o comanda pentru ca in MySQL comanzile se pot intinde pe mai multe randuri. 8n cazul in care aveti o comanda foarte lun6a, pentru a fi mai usor viziblila si in acelasi timp lizibila, dati comanzile MySQL si plasati !:# doar la sfarsitul declaratiilor. 8n caz contrat MySQL va afisa !;#, ceea ce inseamna ca server-ul MySQL asteapta o comanda, respectiv comanda data nu este completa, deci nu are terminatorul necesar. 2omanda !show databases;# va afisa rezultatele sub forma de tabel $< coloana n linii%. /ezultatul acestei comenzi reflecta numele bazelor de date prezente in MySQL. ,entru a opera0interactiona cu o anumita baza de date, aceasta va trebui selectata dupa cum urmeaza&

. Selectarea bazei de date !use baza_date# -eclaratia de mai sus nu se termina in !:# deoarece este o directiva MySQL si nu o comanda pe o baza de date. -upa selectarea bazei de date asupra caruia vom interactiona putem da directive de operare pe baza de date in cauza. 8nainte de aceasta va trebui sa reamintesc celor ce au uitat si sa le mentionez celor ce nu stiu ca o baza de date este formata din& numele bazei de date tabele intrati0campuri in baza de date $inre6istrari, acestea fiind stocate ordonat in randuri si coloane% -e retinut ca o baza de date poate contine mai multe tabele ce pot contine multe intrari0campuri. Acest tip de or6anizare face dintr-o baza de date un sistem ordonat si efcient, mai ales in cazul in care baza de date contine foarte multe informatii. ,entru a intele6e mai bine topolo6ia unei sistem de baze de date sa facel analo6ia cu un arbore& radacina este numele bazei de date care va contine& cren6ile reprezinta tabelele frunzele de pe cren6i, intrarile0informatiile din baza de date -esi6ur, acest e emplu este intr-un fel abstract din moment ce am uitat sa mentionez ce rol indeplineste tulpina insa va las pe voi sa-l atribuiti unei entitati. MySQL, ca si orice alt sistem de baze de date opereaza cu tipuri de date, le recunoaste, face distinctie intre ele si opereaza cu ele in functie de tipul lor. 2a sa dau un e emplu simplu, o baza de date va contine campuri ce vor stoca un anumit tip de date. Astfel un camp stoc)eaza date tip caracter, altul stoc)eaza date tip intre6, altul in format data, etc. MySQL face distinctie intre aceste tipuri de date si in functie $si% de atributele fecarui tip de date $stabilit de noi% opereaza cu acestea. Atributele e ista in functie de tipul de date asupra caruia operam. ,entru a fi mai specific, un atribut al unui camp poate fi& dimensiunea tipului, fla6-ul 57/. sau N.N-57/. $+,LL0+-. +,LL%, incrementare sau decrementare $fata de n-<0n4<%, valoare implicita, etc. Mai multe despre aceste atribute voi vorbi pe parcursul acestui tutorial, la momentul potrivit. -ar sa luam un simplu e emplu MySQL asupra caruia vom opera. =om creea o baza de date ce sa stoc)eze data referitoare la alimentele consumate in ultima luna. >aza de date o vom denumi !ra%ort/nutritional#, in care vom creea un tabel

cu numele !ali$ente#. 2ampurile din acest tabel le vom denumi !+u$e#, !Cantitate# si !0ate#. Astfel, in ansamblu, baza noastra de date va arata ca mai 9os&

ra%ort/nutritional ? ali$ente Nume Cantitate Date

-upa cum am mai mentionat, topolo6ia unei baze de date se bazeaza pe stocarea entitatilor0datelor pe randuri si coloane, campurile tabelului fiind reprezentate aliniate in coloane iar datele stocate in fiecare camp in parte in randuri, un rand pentru fiecare coloana, in functie de numarul de intrari din baza de date. .k, dar ce tip sa aiba datele stocate in campurile mentionate @ Acesta il definim in functie de ce date vor fi stocate in tabel. 8n cazul de fata vom avea urmatoarele tipuri de date pentru campurile noastre& ; Nume 1C1A203A2C1A23 ; Cantitate 1.)+4)+.5)+.3 ; Date 10A.63 -esi6ur, pentru fiecare tip de date ales putem stabili parametrii suplimentare $uneori sunt c)iar necesari%, ca valoarea implicita $default value%, fla6-ul +,LL0+-. +,LL sau ,+S)7+600S)7+60. >ine-nteles, e ista o multitudine de tipuri de date suportate de MySQL insa deocamdata le-am enumerat pe cele in discutie. Asadar, ce reprezinta tipurile de date alese de noi pentru campurile din tabel @ 2ampul A<, !Nume va stoca date tip caracter $dupa cum su6ereaza si numele campului%. (tilizam C1A2 in cazul in care avem caractere si 3A2C1A2 in cazul in care utilizam siruri de caractere. 2ampul AB, !Cantitate# va stoca date tip intre6, )+., respectiv .)+4)+. pentru date intre6 ce nu ocupa un spatiu de memorie foarte mare. ,entru e emplul nostru, vom utiliza .)+4)+. intrucat vom avea valori mici. ,entru tipuri de date de tip numeric ca $.)+4%)+. va trebui sa stabilim fla6-ul +,LL0+-. +,LL. $zero0non-zero% -aca optam pentru +-. +,LL va trebui sa adau6am si o valoare pentru fla6-ul !default value# $valoare implicita%. 2ampul AC, !Data# va reprezenta date tip data, iar MySQL va intrepreta acest tip de date in format american !anan-ll-zz#. Acum ca am terminat cu teoria, sa trecem la partea practica. =a trebui sa creeam o baza de date cu numele ales mai sus&

!. Creearea bazelor de date create database raportDnutritional8 (rmatorul pas necesar este selctarea bazei de date cu care vrem sa operam, in cazul nostru c)iar cu cea creeata mai sus& use raport_nutritional 2aracterul !:# este optional intrucat este o directiva MySQL. =om creea apoi tabelul !alimente# cu numele campurilor, tipurile de date si optional fla6-urile de ri6oare& ". Creearea %ri$ului tabel create table alimente$Nume CHAR(20), Cantitate .)+4)+.93: +-. +,LL 0efault 0, Data DATE%8 ,entru a observa rezultatul intero6arii, priviti ima6inea de mai 9os&

-aca rezultatul de pe monitorul dvs. MySQL arata ca cel de mai sus atunci !felicitari#, aveti o baza de date si-un tabel insa tabelul este 6ol E Sa introducem cateva date in el&

#. Adau(area ca$%urilor in tabel insert into alimente$Nume, Cantitate,Data% values$!Paine#,# #,#1&#4-1123#%8

-esi6ur, daca nu dorim sa introducem in tabel decat intrarea !,aine# si !2antitate# si nu si !-ate#, atunci "uery-ul nostru ar arata astfel& insert into alimente$Nume, Cantitate% values$!Paine#,# #%8 Acum ca ati creeat baza de date, ati creeat un tabel, campurile acestuia si ati introdus si cateva date in acesta, sa operam asupra ei0lui. ,entru ca suntem curiosi sa vedem ce contine baza de date nou creeata vom inero6a baza de date si vom cere sa afiseze tabelele si sa descrie proprietatile campurilor definite de noi anterior. Afisam tabelele din baza de date curenta astfel& show tables8 Afisam proprietatile campurilor dintr-un tabel astfel& &. Afisarea %ro%rietatilor unui tabel describe alimente8

,unde !alimente# reprezinta numele tabelului din baza noastra de date

.bservati mai sus dimensiunea campului !2antitate#. Aceasta valoare reprezinta numarul ma im de octeti pe care-l pot avea datele din acest camp. Astfel, nu putem avea valori mai mari de !FFF# - altfel ar fi trebui sa specificam o dimensiune de G octeti pentru o valoare de pana la !FFFF#. Hla6-urile +,LL au fost stabilite implicit de MySQL pentru noi pentru ca n-am specificat o alta valoare. .ricum acest lucru nu ne va deran9a atata timp cat in momentul in care de abia am creeat tabelul nu vom avea date in el. ,ana acum am efectuat urmatoarele operatii& am selectat baza de date, am afisat tabelele din aceasta, am descris proprietatile acestora insa nu am afisat continutul lor $lui%. ,entru aceasta utilizam&

1'. Afisarea intrarilor intr-un tabel SELECT !"#$ alimente8

-eci, ce face sinta a de mai sus @ Simplu, afiseaza elementele dorite dintr-un tabel in functie de conditiile puse de noi. 8n cazul de mai sus am optat in a afisa toate datele dintr-un tabel $prin caracterul +ildcard !?#% insa daca tabelul nostru contine foarte multe intrari, rezultatul unei astfel de interoari ar fi foarte 6reu de citit si urmarit. 8n cele ce urmeaza o sa mai introducem cateva intrari ca mai tarziu sa avem pe ce criterii filtra rezultatele noastre. 11. Adau(area datelor in ca$%uri %NSE"T %NT# alimente$Nume,Cantitate,Date% &'L(ES $!Ciocolata#,#!#,#"!!#$!%$"!#%: %NSE"T %NT# alimente$Nume,Cantitate,Date% &'L(ES $!&a'te#,#%!#,#"!! $!($")#%: 12. Afisarea conditionata a intrarilor 8ntai vom afisa toate datele din tabel pentru a vedea diferenta dupa o filtrare prealabila&

SELECT ? !"#$ alimente8

Acum ca avem mai multe intrari cu diferite valori sa filtram rezultatul afisarii dupa cum urmeaza& SELECT nume) cantitate !"#$ alimente *+E"E Cantitate,-.

2eea ce face aceasta comanda este sa afiseze campurile !nu$e# si !cantitate# din tabelul !ali$ente# cu unde cantitatea este mai mare decat .

8n felul acesta putem pune mai multe conditii in afisarea rezultatelor. -e e emplu putem afisa doar numele a caror cantitate este I. ,entru aceasta vom adau6a in tabelul nostru doua intrari !Alcool# si !Citrice#. %NSE"T %NT# alimente$Nume,Date% values$!Alcool#,#"!!#$!%$%"*%: %NSE"T %NT# alimente$Nume,Date% values$!Citrice#,#"!!#$!%$%"*%: Acum vom afisa cum am mai spus doar intrarile a caror cantitate este I. SELECT nume !"#$ alimente *+E"E cantitateJ#N(LL#:

/ezultatul dorit a fost afisat, respectiv s-au afisat doar intrarile a caror cantitate este I. Acum ca tot avem cateva intrari ce contin diferite valori tip intre6, sa le sortam dupa un anumit criteriu. Sa presupunem ca dorim sa afisam intrarile din campurile !+u$e; si !Cantitate; insa dorim sa afisam cantitatea in ordine crescatoare. ,entru sortarea unor entitati utilizam cuvintele c)eie -2062 <4 $ordoneaza dupa 1criteriu3%. .ptional putem specifica modul in care se face ordonarea adica in mod crescator sau descrescator. Aceasta o specificam prin cuvintele c)eie ASC $crescator% si 06SC $descrescator%. 8mportant de tinut minte este ca aceste ultime c)ei se adau6a dupa criteriul de afisare al rezultatului, respectiv al ordonarii datelor.

13. Sortarea intrarilor din ca$%uri SELECT nume,cantitate !"#$ alimente #"DE" /0 cantitate 'SC8 "ezultatul va trebui sa arate ca cel de mai 1os2

2omplicam putin e emplul urmator si afisam toate datele din tabel ce se contin literele 3co si a caror data o vom a4osa5o crescator2

SELECT ? !"#$ alimente *+E"E nume L%6E K+co+K #"DE" /0 date 'SC: #bservati cuvantul cheie &,-E. Acesta este folosit in filtrarea rezultatelor ce sa contina un anumit continut stabilit de utilizator. 2aracterul !=# are aici functie de simbol +ildcard adica de inlocuire. Nu-l substituiti insa cu !># deoarece nu va functiona in acest caz. 2uprinzand un sir de caractere intre !L# indicam MySQL sa filtreze intrarile ce sa contina sirul de caractere specificat. -ar daca dorim sa afisam doar rezultatele ce sa inceapa sau sa se termine cu o anumita litera sau litere @ ,entru aceasta trebuie doar sa plasam caracterul !L# in locul potrivit dupa cum urmeaza& SELECT nume !"#$ alimente *+E"E nume L%6E !c+#:

8nvers, pentru a afisa intrarile a caror nume se termina in litera !a# vom utiliza& SELECT nume !"#$ alimente *+E"E nume L%6E !+a#: Sper ca e emplele 6rafice ce vi le-am pus la dispozitie v-au fost de a9utor. Nu, totorialul nu se termina aici E 8n cele ce urmeaza vom !edita# putin continutul bazei de date, vom adau6a cateva campuri in plus, vom sc)imba atributele unor campuri, vom actualiza valorile unor date, vom ster6e unele campuri, vom redenumi tabelul, il vom ster6e si spre final vom ster6e baza de date.

14. Modificarea structurii unui tabel 8ntai vom mai adau6a un camp tabelului nostru cu alimente. 8l vom numi !Co$entariu# si vom stoca in el date tip caracter, 3A2C1A2 de dimensiune BMM octeti. 'LTE" T'/LE alimente 'DD Comentariu &'"C+'"$"()% N#T N(LL '!TE" Date8

Asadar, o noua instructiune MySQL, AL.62 .A<L6 modifica structura unui tabel. ,arametrii utilizati in cazul de mai sus sunt A00 si A?.62. ,arametrul A00 se utilizeaza pentru a adau6a un nou camp tabelului si A?.62 este clauza pentru campul creeat. Aceasta se refera la pozitia noului camp creeat fata de ultimul camp din tabel. ,entru a specifica pozitia unui camp ca fiind prima din tabel vom utiliza clauza ?)2S.. .k, am creeat un nou camp insa ne raz6andim asupra tipului de date ce-l resprezinta campul nou creeat si vrem sa-i modificam atributul respectiv dimensiunea campului. 8n e emplul de mai 9os dorim sa modificam dimensiunea la BI octeti in loc de BMM. 'LTE" T'/LE alimente $#D%!0 Comentariu &'"C+'"$"!% N#T N(LL8 Atentie insa, datele stocate in acest camp $daca e ista% ce depasesc noua dimensiune stabilita vor fi trunc)iate E 8n ima6inile de mai 9os voi arata rezultatul initial si cel rezultat in urma operatiei

de modificare al atributului. -aca rezultatul vostru este asemanator $identic% atunci felicitari E 8n caz contrar verificati daca sinta a utilizata este corecta si sa nu lipseasca caracterul !:#, altfel MySQL va astepta terminarea comenzii. 8nainte&

-upa&

8n cazul in care ati retinut procedeul de modificare voi trece mai departe, la ster6erea unui anumit camp din tabel. 8n caz contrar reveniti asupra e emplelor de mai sus si 6anditi-va la comenzile MySQL, ca se e ecuta de la stan6a la dreapta, incep ca ar6ument cu numele obiectului pe care dorim sa operam, eventuale proprietati ale obiectului si eventualele clauze pentru operatiile efectuate. 1 . Ster(erea unui ca$% din tabel 8n e emplul de mai 9os voi ster6e campul !Co$entariu# fara a afecta insa inte6ritatea tabelului. 'LTE" T'/LE alimente D"#7 Comentariu8

Ar6umentul 02-P al comenzii AL.62 .A<L6 indica ster6erea unei entitati, in cazul nostru un camp. 1!. Modificarea nu$elui unui tabel Sa presupunem ca dorim sa modificam numele tabelului nostru. ,entru acest lucru vom utiliza din nou comanda AL.62 .A<L6 insa cu un alt parametru. 8l vom redenumi din !ali$ente# in !nutritie#& 'LTE" T'/LE alimente "EN'$E nutritie8

Aveti 6ri9a insa la sinta a acestei comenzi intrucat se modifica valoarea fara a se specifica valoarea precedenta ci numai cea noua.

1". Actualizarea unei intrari -ar daca dorim sa corectam o valoare introdusa anterior intr-un camp @ ,ana acum v-am e emplificat modul de modificare a structurii unui tabel insa acum a venit timpul sa va e plic cum se innoiesc $actualizeaza% datale intr-o baza de date. ,entru a inlocui o valoare utilizam urmatoarea comanda& (7D'TE nutritie SET cantitateJ# # *+E"E numeJ#Ciocolata#8 .bservati ar6umentul instructiunii ,P0A.6, S6. si conditiile in care se aplica aceasta instructiune respectiv numele articolului asupra caruia vrem sa operam precum si a valorii ce dorim sa i-o atribuim. Atentie, valoarea precedenta se pierde E =a recomand sa va !9ucati# cu aceasta intructiune si sa e perimentati si pe alte campuri caci astfel capatati e ercitiu, e ercitiuJe perienta...stiiti voi.

1#. Ster(erea tabelului si a bazei de date Spre final, vom ster6e tabelul si baza de date pe care am operat. D"#7 T'/LE nutritie8 D"#7 D'T'/'SE ra'ort_nutritional:

8nstructiunea 02-P se utilizeaza pentru a ster6e o anumita entitate din structura unui sistem de baze de date.

8n e emplul de mai sus am utilizat ca si ar6ument entitatea pe care o vom ster6e precum si numele acesteia. 1&. )nc*eiere 2u e emplul de mai sus inc)ei acest tutorial. Sper ca ceea ce-am e plicat v-a fost de folos si pe intelesul tuturor. .ricum, retineti ca acest material este doar un tutorial si nu a fost conceput cu scopul de a inlocui un material de specialitate E ,entru mai multe referinte la MySQL consultati o carte de specialitate, le 6asiti in orice librarie ce se respecta si este in principiu de dimensiuni apreciabile.
,entru intrebari, su6estii, critici scrieti-mi la hwcore.linu/mail0or1

S-ar putea să vă placă și