E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale MySQL

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

BAZE DE DATE  /  MySQL  /  Bazele MySQL (3)

I. Bazele MySQL - Scurta introducere

23.05.2008
I. Bazele MySQL - Scurta introducere

Acest capitol asigura o introducere la tutorialul MySQL, aratandu-ti cum sa folosesti programul client mysql pentru a crea si pentru a utiliza o baza de date simpla.

Total vizualizari: 13885 13885 afisari   |   Comentarii  1   |   Rating   |   (2 voturi)   |   Timp necesar: 45 min 45 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  MySQL.com  
Autor:  E-learn.ro
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 1 2
comenteaza printeaza

Iata o alta interogare. Aceasta demonstreaza faptul ca poti folosi mysql pe post de simplu calculator:

mysql> SELECT SIN(PI()/4), (4+1)*5;
+------------------+---------+
| SIN(PI()/4)      | (4+1)*5 |
+------------------+---------+
| 0.70710678118655 |      25 |
+------------------+---------+
1 row in set (0.02 sec)

Interogarile aratate pana acum au fost instructiuni de intindere relativ restransa, de cate un singur rand. Poti chiar sa introduci mai multe instructiuni pe un singur rand. Trebuie doar sa adaugi punct si virgula dupa fiecare dintre ele:

mysql> SELECT VERSION(); SELECT NOW();
+----------------+
| VERSION()      |
+----------------+
| 5.0.7-beta-Max |
+----------------+
1 row in set (0.00 sec)
 
+---------------------+
| NOW()               |
+---------------------+
| 2005-07-11 17:59:36 |
+---------------------+  
1 row in set (0.00 sec)

Nu este neaparat ca o comanda sa fie data in intregime pe un singur rand, asa ca acelea care sunt lungi si necesita mai multe randuri nu constituie o problema. mysql determina punctul in care se incheie comanda ta cautand semnul "punct si virgula", care o inchide, si nu punctul in care se termina randul introdus. (Cu alte cuvinte, mysql accepta intrari cu format liber: el colecteaza liniile de intrari, insa nu le executa pana cand nu citeste semnul "punct si virgula").

Iata o instructiune simpla scrisa pe mai multe randuri:

mysql> SELECT
    -> USER()
    -> ,
    -> CURRENT_DATE;
+---------------+--------------+
| USER()        | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2005-07-11   |
+---------------+--------------+

Observa in acest exemplu modul in care prompt-ul se schimba din mysql> in -> dupa ce introduci primul rand al unei interogari formate din mai multe randuri. Acesta este felul in care mysql indica faptul ca inca nu a citit o instructiune completa si ca asteapta sa introduci si restul. Prompt-ul iti este prieten: el iti furnizeaza un feed-back indispensabil. Daca valorifici acest feed-back, vei putea permanent sa prevezi ce anume asteapta mysql.

In cazul in care decizi ca nu vrei sa executi o comanda pe care esti in curs de a o introduce, anuleaza-o tastand c:

mysql> SELECT
    -> USER()
    -> c
mysql>

De remarcat, si de aceasta data, prompt-ul. Dupa ce ai tastat c, se va schimba la loc in mysql>, asigurandu-ti un feed-back ce iti indica faptul ca mysql este gata sa primeasca o noua comanda.

Urmatorul tabel iti prezinta fiecare prompt pe care ai putea sa il intalnesti, precum si un mic rezumat a ceea ce indica referitor la starea in care se afla mysql:

Prompt

Semnificatie

mysql>

Gata pentru o noua comanda.

->

Asteptand urmatorul rand al comenzii formate din mai multe randuri.

'>

Asteptand introducerea urmatorului rand, asteptand incheierea unui sir care a inceput cu ghilimele simple (“'”).

">

Asteptand randul urmator, aspeptand incheierea unui rand care a inceput cu ghilimele duble (“"”).

`>

Asteptand urmatorul rand, astaptand incheierea unui identificator care a fost deschis cu un backtick (“`”).

/*>

Asteptand urmatorul rand, asteptand incheierea unui comentariu care a fost deschis cu /*.

Instructiunile formate din mai multe randuri intervin adesea accidental in momentul in care intentionezi sa emiti o comanda pe un singur rand, insa uiti punctul si virgula de final. In acest caz, mysql va astepta o noua intrare:

  mysql> SELECT USER()
  ->

Daca ti se intampla acest lucru (ai impresia ca ai introdus o instructiune, insa singura reactie este un prompt ->), cel mai probabil mysql asteapta punctul si virgula. Daca nu sesizezi ceea ce iti spune promptul, ai putea sa astepti ceva vreme inainte sa iti dai seama ce ai de facut. Introdu punctul si virgula pentru a incheia comanda, iar mysql o va executa:

  mysql> SELECT USER()
  -> ;
  +---------------+
  | USER()        |
  +---------------+
  | jon@localhost |
  +---------------+

Prompturile '> si "> apar in cursul colectarii sirului (un alt mod de a spune ca MySQL asteapta inchiderea unui sir). In MySQL, poti scrie siruri marginite fie de caracterul "'", fie """ (de exemplu, 'hello' sau "goodbye"), iar mysql iti permite sa introduci siruri care se desfasoara pe un interval de mai multe randuri. Atunci cand vezi un prompt '> sau "> , inseamna ca ai introdus un rand care contine un sir ce incepe cu ghilimele de tip "'" sau """ , insa nu ai introdus inca si perechea respectivului caracter, care incheie sirul. Acest lucru indica adesea faptul ca ai uitat din neatentie un caracter din perechea de ghilimele. De exemplu:

mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
  '>

Daca introduci instructiunea SELECT, iar apoi apesi ENTER si astepti rezultatul, nu se intampla nimic. In loc sa te intrebi de ce interogarea dureaza atat de mult, baga de seama indiciul furnizat de catre promptul '>. Acesta te instiinteaza ca mysql asteapta restul sirului incomplet. (Observi eroarea din instructiune? Sirului 'Smith ii lipseste al doilea caracter de tip ghilimele simple.)

Ce vei face odata ajuns in punctul acesta? Cel mai simplu este sa anulezi comanda. Totusi, in cazul de fata nu poti sa tastezi pur si simplu c , deoarece mysql va interpreta acest lucru ca fiind o parte a sirului aflat in curs de elaborare. In schimb, trebuie sa inchizi ghilimelele (astfel, mysql va sti ca ai terminat sirul), iar apoi sa tastezi c:

mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
  '> 'c
  mysql>

Promptul se va modifica la loc in mysql>, indicand faptul ca mysql este gata pentru o noua comanda. Promptul `> este asemanator prompturilor '> si "> , insa arata ca ai inceput, fara a incheia, un identificator cuprins intre caractere backtick. Este important sa stii ce inseamna prompturile '>, ">, si `> , pentru ca, daca introduci din greseala un sir neterminat, orice alt sir ulterior va parea sa fie ignorat de catre mysql - inclusiv un eventual rand continand QUIT. Acest lucru poate fi destul de debusolant, mai ales daca nu stii ca trebuie sa inchizi ghilimelele inainte de a anula comanda in curs.

Pagina:
« 1 2
comenteaza printeaza
Alte tutoriale MySQL:
Noteaza acest tutorial
Rating tutorial
 
(2 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (1) spune-ti parerea
alexandra , Luni, 02 Iunie 2008
#1

Este un bun tutorial pentru partea de shell. Am postat pe forum o intrebare poate reuseste cineva sa ma ajute: http://www.e-learn.ro/forum/viewtopic.php?f=9&t=4

Raporteaza acest comentariu ca injurios!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4320
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4190
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4170
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4010
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Java HTML Dreamweaver CSS Verilog Gimp SEO Vista XML Powerpoint Fireworks Word Ruby on Rails RoR Outlook Flash Javascript COREL DRAW StyleSheet PSD Sony Vegas PHP Python SWF XHTML MySQL Excel JSON Action Script Fotografie AJAX Lightroom Bridge Photoshop Swift 3D Illustrator
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software