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)

III. Bazele MySQL - Interogari din tabele multiple

17.12.2008
III. Bazele MySQL - Interogari din tabele multiple

Afisarea datelor din tabele multiple.

Total vizualizari: 29588 29588 afisari   |   Comentarii  1   |   Rating   |   (12 voturi)   |   Timp necesar: 1h 30 min 1h 30 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

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

Instructiunea SELECT se foloseste pentru a extrage informatii dintr-un tabel. Forma generala a instructiunii este:

SELECT ce coloane selectam
FROM din ce tabel
WHERE in ce conditii;

Ce coloane selectam iti indica ceea ce vrei sa vizualizezi. Acest lucru poate fi o lista de coloane, sau * pentru a indica toate coloanele. Din ce tabel se refera la tabelul din care doresti sa extragi date. Clauza WHERE este optionala. In cazul in care apare, in ce conditii specifica una sau mai multe conditii pe care trebuie sa le intruneasca randurile pentru a fi extrase. Cea mai simpla forma de SELECT extrage toate informatiile dintr-un tabel:

mysql> SELECT * FROM pet;
+----------+--------+---------+------+------------+------------+
| name     | owner  | species | sex  | birth      | death      |
+----------+--------+---------+------+------------+------------+
| Fluffy   | Harold | cat     | f    | 1993-02-04 | NULL       |
| Claws    | Gwen   | cat     | m    | 1994-03-17 | NULL       |
| Buffy    | Harold | dog     | f    | 1989-05-13 | NULL       |
| Fang     | Benny  | dog     | m    | 1990-08-27 | NULL       |
| Bowser   | Diane  | dog     | m    | 1979-08-31 | 1995-07-29 |
| Chirpy   | Gwen   | bird    | f    | 1998-09-11 | NULL       |
| Whistler | Gwen   | bird    | NULL | 1997-12-09 | NULL       |
| Slim     | Benny  | snake   | m    | 1996-04-29 | NULL       |
| Puffball | Diane  | hamster | f    | 1999-03-30 | NULL       |
+----------+--------+---------+------+------------+------------+

Aceasta forma de SELECT este utila daca doresti sa iti verifici intregul tabel, de exemplu, dupa ce tocmai l-ai incarcat cu primul set de date. De exemplu, se poate intampla sa constati ca data de nastere a lui Bowser nu este tocmai in regula. In clipa in care consulti documentele originale de descendenta, afli ca anul corect al nasterii ar trebui sa fie 1989, si nu 1979.

Exista cel putin doua moduri de a rectifica aceasta eroare:
• Editeaza fisierul pet.txt pentru a corecta eroarea, iar apoi goleste tabelul si incarca-l din nou folosind DELETE si LOAD DATA:

mysql> DELETE FROM pet;
mysql> LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;

Totusi, procedand astfel, va trebui de asemenea sa introduci din nou si inregistrarea corespunzatoare lui Puffball.
• Rectifica doar inregistrarea eronata cu o instructiune UPDATE:

mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser';

UPDATE va schimba numai inregistrarea in cauza si nu necesita reincarcarea tabelului.

Dupa cum am aratat in sectiunea precedenta, este mai usor sa citim toate datele dintr-un tabel intreg. Este suficienta omiterea clauzei WHERE din instructiunea SELECT. Insa, de regula nu vei dori sa vizualizezi intregul tabel, in special cand acesta se extinde destul de mult. In schimb, vei fi de obicei mai interesat sa raspunzi unei anumite intrebari, caz in care vei mentiona niste conditii de restrangere a informatiei dorite. Sa urmarim cateva interogari ce vor raspunde la intrebari despre animalele de casa.

Poti selecta doar anumite randuri din tabelul tau. De exemplu, daca doresti sa verifici modificarea pe care ai adus-o zilei de nastere a lui Bowser, selecteaza intregistrarea lui Bowser, astfel:

mysql> SELECT * FROM pet WHERE name = 'Bowser';
+--------+-------+---------+------+------------+------------+
| name   | owner | species | sex  | birth      | death      |
+--------+-------+---------+------+------------+------------+
| Bowser | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |
+--------+-------+---------+------+------------+------------+

Iesirea confirma faptul ca anul a fost intr-adevar inregistrat in forma lui corecta ca 1989, si nu ca 1979.

Comparatiile intre siruri nu sunt in mod normal case-sensitive, asa ca te poti referi la nume ca 'bowser', 'BOWSER', si asa mai departe. Rezultatul interogarii va fi acelasi.

Poti pune conditii asupra oricarei coloane, si nu numai asupra celei intitulate name. De exemplu, daca doresti sa stii ce animale s-au nascut in decursul anului 1998 sau dupa, testeaza coloana birth:

mysql> SELECT * FROM pet WHERE birth >= '1998-1-1';
+----------+-------+---------+------+------------+-------+
| name     | owner | species | sex  | birth      | death |
+----------+-------+---------+------+------------+-------+
| Chirpy   | Gwen  | bird    | f    | 1998-09-11 | NULL  |
| Puffball | Diane | hamster | f    | 1999-03-30 | NULL  |
+----------+-------+---------+------+------------+-------+

Poti combina conditiile, de exemplu, pentru a localiza cainii-femela:

mysql> SELECT * FROM pet WHERE species = 'dog' AND sex = 'f';
+-------+--------+---------+------+------------+-------+
| name  | owner  | species | sex  | birth      | death |
+-------+--------+---------+------+------------+-------+
| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
+-------+--------+---------+------+------------+-------+

Instructiunea anterioara foloseste operatorul logic AND. Exista de asemenea si un operator OR:

mysql> SELECT * FROM pet WHERE species = 'snake' OR species = 'bird';
+----------+-------+---------+------+------------+-------+
| name     | owner | species | sex  | birth      | death |
+----------+-------+---------+------+------------+-------+
| Chirpy   | Gwen  | bird    | f    | 1998-09-11 | NULL  |
| Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL  |
| Slim     | Benny | snake   | m    | 1996-04-29 | NULL  |
+----------+-------+---------+------+------------+-------+
Pagina:
« 1 2 3456789 »
comenteaza printeaza
Alte tutoriale MySQL:
Noteaza acest tutorial
Rating tutorial
 
(12 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (1) spune-ti parerea
nicuslick , Joi, 06 Iunie 2013, ora 07:19
#1

Buna ziua. Am o baza de date cu 2 tabele. Primul tabel (users) are campurile nume si id iar al doilea tabel (categorie) id_categorie si tip_utilizator. Cum asociez tipul de utillizator userului? Si toata treaba asta in PHPmyadmin. Folosesc EasyPHP. Multumesc anticipat

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
4435
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4335
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4295
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4140
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Action Script Fireworks Python Sony Vegas Javascript HTML PSD Outlook SWF Powerpoint RoR Ruby on Rails Bridge Photoshop Fotografie XHTML StyleSheet MySQL Gimp Flash Dreamweaver Swift 3D Lightroom COREL DRAW JSON XML Verilog Vista PHP AJAX Java Illustrator Word SEO Excel CSS
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