Contacte

Elementele de bază ale SQL pentru începători cu lecții. SQL Selectați și interogări Pentru a selecta solicitările de date din SQL Selectați interogarea

Pentru a citi datele din baza de date și ieșire, ar trebui să existe trei operații pe pagina web PNP-Script. În primul rând, scriptul trebuie să stabilească o conexiune de la DBMS prin apelarea funcției de conectare încorporată cu baza de date, de exemplu, funcțiile MySQL_CONNECT (), care vă permite să vă conectați la MySQL DBMS. În al doilea rând, scriptul ar trebui să fie o interogare prin conexiunea instalată de la DBMS utilizând funcția de solicitare SQL încorporată, de exemplu, funcțiile MySQL_Query (), ceea ce permite scenariului PHP să transfere declarații SQL pentru a executa DBMS. În al treilea rând, după cameră, DBMS a rezultatelor interogării la tamponul de ieșire al serverului Web, scriptul trebuie să citească datele de la tampon și să le afișeze pe pagina web. De exemplu, atunci când lucrați cu MySQL, scriptul poate utiliza funcția MySQL_FETCH_ARARY () încorporată, care citește rândul de interogare SQL de la tamponul DBMS și plasează valorile coloanei de șir în gama de elemente. Apoi, scriptul poate efectua o declarație de ecou sau poate apela funcția Print () pentru a transmite câmpurile tabelului bazei de date de pe pagina web.

Să presupunem că, de exemplu, că MySQL DBMS este utilizat și în tabelul HTML de pe pagina web este necesar să se afișeze date din tabelul SQL cu numele "Produsele" conținute în baza de date "Bunuri". Mai întâi de toate, trebuie să sunați la funcția MySQL_CONNECT () a următoarei formular:

$ link \u003d mysql_connect ($ db_host, $ db_user, $ db_pass);

$ Db_host conține un șir "localhost" (dacă serverul MySQL este pe același computer ca serverul web) sau un șir cu adresa IP a computerului unde serverul MySQL este situat cu care trebuie instalată conexiunea. (Pentru a obține o adresă IP a serverului MySQL, trebuie să contactați furnizorul de Internet.) Celelalte două argumente, $ db_user și $ db_pass, conțin numele de utilizator și parola, funcțiile necesare ale mysql_connect () pentru a seta conexiunea de la Mysql dbms. Când lucrați cu MySQL DBMS cu argumente implicite, puteți introduce baza de date cu numele de utilizator $ db_user \u003d "root" și o parolă $ db_pass \u003d "parolă".

Instrucțiuni cu funcția MySQL_CONNECT () atribuie identitatea variabilă a legăturii $ a conexiunii DBMS sau a valorii false, dacă încercarea de a stabili conexiunea a eșuat. Deoarece erorile apar din când în când, utilizând instrucțiunea Dacă trebuie să verificați valoarea variabilei $ Link și, dacă este necesar, imprimați un mesaj de eroare pe ecran. Dacă încercarea de conectare este finalizată cu succes, pentru a selecta o bază de date cu tabele ale căror date vor fi citite în interogare, puteți utiliza apelul la funcția descrisă în exemplul următor:

dacă (! mysql_select_db ($ db_name, $ link)

// instrucțiuni de procesare a unei încercări eșuate

// Folosind baza de date

// Prelucrarea după o conexiune și selecție reușită

// Bază de date

Serverul MySQL acceptă de obicei mai multe baze de date, deci trebuie să selectați o bază de date care conține tabelele dorite. În exemplul dat, $ db_name conține șirul "bunuri", un link $ este un identificator al conexiunilor bazei de date returnate de funcția mysql_connect (). Ca mai înainte, trebuie să verificați datele returnate de funcția PHP (în acest exemplu, funcția MySQL_SELECT_DB () pentru a vă asigura că selecția bazei de date a fost finalizată cu succes. Funcția MySQL_SELECT_DB () returnează TRUE dacă selectați cu succes o bază de date și falsă - altfel.

După stabilirea cu succes a conexiunii de la MySQL DBMS și selecția bazei de date pentru a executa interogarea, trebuie să apelați funcția MySQL_Query (), așa cum se arată în exemplul următor:

$ rezultat \u003d mysql_query ($ interogare, $ link);

În exemplul de mai sus, care citește conținutul tabelului de produse, argumentul query $ conține o comandă SQL:

Selectați * din comanda Produse după nume

Ca și înainte, parametrul $ Link conține un identificator de conectare la baza de date returnat realizat cu succes de funcția MySQL_Connect (), provocarea căreia este la începutul scenariului. Funcția MySQL_Query () returnează FALSE (dacă DBMS din anumite motive nu au putut efectua operatorul SQL transmis) sau indicatorul la locul în care DBMS au plasat rezultatele interogării.

Pentru a citi rezultatele interogării (adică, liniile de date pe care interogarea le-a selectat din tabelul de produse) trebuie să apelați funcția MySQL_Fetch_Array () pentru a citi toate rândurile rezultatelor interogării și pentru a le salva în matrice. Apoi, trebuie să afișați date de pe masivul de pe pagina web. De exemplu, următorul script extrage numărul de câmpuri (returnate în rezultatele interogării), numele și tipurile acestora și emite valorile coloanelor conținute în rezultatele interogării, sub forma unei mese HTML, care Scriptul creează pe pagina web:

// determinarea numărului de câmpuri returnate ca urmare a cererii

$ câmpuri \u003d mysql_num_f ieelds ($ rezultat);

// Începeți definirea tabelului HTML

echo "

" ;

// afișați numele coloanelor sub formă de titluri

// tabelul HTML.

echo "

";

pentru ($ i \u003d 0; $ i< $fields; $i++)

echo "

";

$ Tongtype [$ i] \u003d mysql_field_type ($ rezultat, $ i);

echo "

";

// afișați rezultatele interogării în tabelul HTML

În timp ce ($ array \u003d mysql_fetch_array ($ rezultat))

echo "

";

pentru ($ i \u003d 0; $ i< $fields; $i ++)

dacă ($ tongtype [$ i]<> "Şir")

echo "

";

echo "

";

echo "

"MySQL_FIELD_NAME ($ rezultat, $ i)."
";

echo "

" ;

echo "$ matrice [$ i]

";

Scriptul afișează numele coloanelor returnate de interogare, sub forma anteturilor coloanei tabelului, iar rezultatele interogării sunt plasate în liniile de masă.

Sarcina

Creați o bază de date în programul MySQL DEVART DBFORGE pentru programul MySQL în conformitate cu opțiunea de sarcină (Tabelul 1). Scrieți programul în PHP, care citește datele din această bază și le afișează sub forma unui tabel (figura 1).

Programul trebuie salvat în fișierul "D: \\ Server \\ www \\ index.php". Baza de date trebuie să fie localizată în directorul "D: \\ Server \\ Mysql \\ Data". Rulați un program din browser introducând adresa URL "http: // localhost".

Tabelul 1 - Opțiuni

Opțiune Sarcina
Biroul de pașapoarte. Tabelul trebuie să aibă următoarele detalii. - numărul pașaportului (câmp obligatoriu); - numele complet (câmp obligatoriu); - data nașterii (câmp obligatoriu); - data emiterii pașaportului (câmp obligatoriu); - abordare; - telefon.
Showroom-ul mașinii. Tabelul trebuie să aibă următoarele detalii. - producător (câmp obligatoriu); - modelul mașinii (câmp obligatoriu); - volumul motorului; - costul curent; - semnul disponibilității;
Bibliotecă. - numărul de inventar al cărții (câmp obligatoriu); - autor (câmp obligatoriu); - titlu (câmp obligatoriu); - costul (câmpul obligatoriu); - gen; - Data primirii la Fundația Bibliotecii.
Stație de autobuz. - numărul de zbor (câmp obligatoriu); - punctul de plecare (câmp obligatoriu); - punctul de sosire (câmp obligatoriu); - timpul de sosire la această stație (câmp obligatoriu); - timpul de plecare (câmp obligatoriu);
Animalele din rezervă - numele animalului (câmp obligatoriu); - Număr; - este listată în Cartea Roșie (câmp obligatoriu); - speranța medie de viață;
Videota - numele filmului (câmp obligatoriu); - director (câmp obligatoriu); - Anul eliberării; - gen; - Scurta descriere;
Zhek - № жека (câmp obligatoriu); - cap (câmp obligatoriu); - Numărul de personal; - numărul de apartamente deservite (câmp obligatoriu); - numărul de brigăzi de reparații;
Subiecții din universitate - numele (câmpul obligatoriu); - lector (câmp obligatoriu); - Departamentul; - numărul de ore (câmp obligatoriu); - semnarea examenului sau offset;
Lista de prețuri - categoria (câmp obligatoriu) (de exemplu, placa de bază, procesor etc.); - codul produsului (câmp obligatoriu); - producător (câmp obligatoriu); - numele produsului (câmp obligatoriu); - preț (câmp obligatoriu); - semnul disponibilității (câmp obligatoriu);
Meniu - Numele vasului (câmp obligatoriu); - volumul greutății / vasului (câmp obligatoriu); - preț (câmp obligatoriu); - timpul pentru pregătirea; - prezența în acest moment (câmp obligatoriu);

Operatorul SQL Select este proiectat pentru interogări pentru a selecta date din baza de date. Acesta poate fi utilizat ca fiind fără condiții (selectarea tuturor liniilor în toate coloanele sau toate liniile din anumite coloane) și cu numeroase condiții (selectarea anumitor șiruri) care sunt specificate în secțiunea în care secțiunea. Vă veți familiariza cu instrumentele SQL pe care le puteți specifica aceste condiții pe eșantionul de date și, de asemenea, să înveți cum să utilizați instrucțiunea SELECT în Subqueries.

Selectați pentru a selecta coloanele de masă

O solicitare a instrucțiunii SELECT pentru a selecta toate coloanele tabelului are următoarea sintaxă:

Selectați * de la_table.

Asta este, pentru a selecta toate coloanele tabelului după cuvântul selectați, trebuie să puneți stelele.

Exemplul 1. Există o bază de date a companiei. Are o masă org (structură fermă) și personal (angajați). Trebuie să selectați toate coloanele din tabele. Cererea corespunzătoare de selectare a tuturor coloanelor din tabelul ORG este după cum urmează:

Selectați * de la ORG

Această interogare va returna următoarele (pentru a mări imaginea pentru a face clic pe acesta cu butonul stâng al mouse-ului):

Cererea de a selecta toate coloanele din tabelul de personal este după cum urmează:

Selectați * de la personal

Această interogare va returna următoarele:


Pentru a selecta anumite coloane ale mesei, vom avea nevoie în loc de stele. Lista prin intermediul numelor virgulare ale tuturor coloanelor pe care doriți să le alegeți:

Selectați Selectable_stolbs de la name_table

Exemplul 2. Lăsați-o să fie necesară din tabelul ORG pentru a selecta coloanele Depnăpune și DeptName, care conțin date, respectiv despre numerele departamentelor companiei și numele acestora. Cererea de un astfel de eșantion va fi după cum urmează:

Selectați DepNumb, DeptName de la Org

Și din tabelul de personal trebuie să selectați Departamentul, Nume, Coloane de Job, care conțin datele de pe departamentul, în care angajatul funcționează, numele și poziția:

Selectați Departamentul, Nume, Job de la Personal

Pentru a selecta anumite rânduri ale mesei, împreună cu instrucțiunea SELECT, în cazul în care cuvântul cheie va fi deja necesar, indicând o anumită valoare sau mai multe valori conținute în liniile de interes. Cele mai simple condiții sunt date utilizând operatorii de comparație și egalitate (, \u003d), precum și cuvântul cheie este. Condițiile pot fi oarecum, apoi sunt listate folosind cuvântul cheie și. Solicitările de selectare a corzilor au următoarea sintaxă:

Exemplul 4. În exemplul anterior, am ales rânduri de la masă numai prin valoarea unei coloane - departament. Să nu trebuie să alegeți date despre angajații care lucrează în departamentul 38 și la poziția căreia - angajat (funcționar). Pentru a face acest lucru, în secțiunea În cazul în care valorile corespunzătoare trebuie să fie listate folosind cuvântul și:


Exemplul 5. Să fie necesar să se aleagă din identificatorii de tabel de personal și numele acelor angajați a căror dimensiune este incertă. Pentru a face acest lucru, în secțiunea Unde, înainte de a specifica valoarea coloanei comunitare, nu este necesar să se pună un semn de egalitate, dar cuvântul este:

Această interogare va returna următoarele date:


Pentru a specifica valorile în liniile pe care doriți să le selectați, se utilizează semnele de comparație.

Folosind selectați și predicate în sau, între, cum ar fi

Predicatele - cuvintele din, sau, cum ar fi în secțiunea În cazul în care secțiunea - vă permit, de asemenea, să selectați anumite intervale (în sau între) sau valori în corzi (cum ar fi) pe care doriți să le selectați din tabel. Solicită cu predicatele în sau, între următoarele sintaxe:

Cererile cu predicat ca au următoarea sintaxă:

Exemplul 7. Să fie necesar să se aleagă din numele tabelelor de personal, pozițiile și numărul lucrătorilor lucrători care lucrează în departamente cu numere 20 sau 84. Acest lucru se poate face după cum urmează:

Solicitare Rezultat:


Exemplul 8. Permiteți acum să fie selectate din tabelul personalului aceleași date ca în exemplul anterior. Cererea cu cuvântul sau este similară cu cererea cu cuvântul și transferul de interese de interes în paranteze. Cererea va fi după cum urmează:

Exemplul 9. Selectați numele, pozițiile și numărul de angajați au elaborat, salariul între 15.000 și 17.000 inclusiv din același tabel.

Solicitare Rezultat:


Predicatul asemănător este folosit pentru a proba acele linii, în valorile cărora sunt caracterele specificate după predicatul dintre apostrofe (").

Exemplul 10. Selectați numele, pozițiile și numărul de lucrători lucrători, numele căruia încep cu literele s și constau din 7 caractere:

Simbolul de aderență (_) înseamnă orice caracter. Solicitare Rezultat:


Exemplul 11. Alegeți dintre aceleași nume de tabele, poziții și numărul de lucrători lucrători, ale căror nume încep cu literele și conțin orice alte litere în orice cantitate:

Simbolul procentual (%) înseamnă orice număr de caractere. Solicitare Rezultat:


Valorile specificate folosind sau între predicate, cum ar fi pot fi inversate folosind cuvântul nu. Apoi datele solicitate vor avea sensul opus. Dacă nu folosim (20, 84), atunci personalul va fi afișat care lucrează în toate departamentele, cu excepția celor care au numere 20 și 84. Cu ajutorul nu între 15000 și 17000, puteți obține datele angajaților ale căror salariu nu este inclusă în intervalul de la 15.000 până la 17.000. Cererea de la nu vă va arăta personalul personalului a cărui nume nu pornesc sau nu conține caracterele specificate cu nu cum ar fi.

Scrieți solicitările SQL de la selectarea și predicatele în, nu în, între dvs. și apoi consultați soluții

Există o bază de date "Teatru". Tabelul de redare conține date despre producție. Echipa de masă - despre rolurile actorilor. Tabelul actor - despre actori. Tabelul Director - despre directori. Câmpurile de tabel, cheile primare și externe pot fi văzute în figura de mai jos (pentru a mări zoomul la butonul stâng al mouse-ului).


Exemplul 12. Lista actorilor care nu au fost aprobați la un rol major. În tabelul echipei, datele principale ale rolului sunt conținute în coloana de întreținere. Dacă rolul este cel principal, atunci "Y" este notat în șirul corespunzător.

Selectați și comenzi prin sortare (comandare)

Dezasamblat până în prezent SQL selectați interogările returnate care ar putea fi amplasate în orice ordine. Cu toate acestea, este adesea necesar să sortați liniile în ordine de numere, alfabet și alte caracteristici. Pentru a face acest lucru, servește expresia cheie de ordin. Astfel de interogări au următoarea sintaxă:

Exemplul 15. Permiteți să se aleagă de la angajații de masă de personal care lucrează în departament cu numărul 84 și să sorteze înregistrările de către numărul de ani cheltuiți într-o ordine crescătoare:

Cuvântul ASC indică faptul că ordinea de sortare este în creștere. Acest cuvânt nu este necesar, deoarece ordinea crescândă de sortare este aplicată în mod implicit. Solicitare Rezultat:


Exemplul 16. Lăsați-l să fie obligat să aleagă aceleași date ca și în exemplul anterior, dar să sorteze (raționalizarea) înregistrărilor de numărul de ani petrecuți într-o ordine descrescătoare:

Cuvântul DESC indică faptul că ordinea de sortare este în scădere. Solicitare Rezultat:


Selectați și distinct - îndepărtarea corzilor duplicate

Când nu sunt specificate valorile liniilor de masă, starea unicității nu este specificată, aceleași linii se pot întâlni în rezultatele interogării. Adesea, trebuie să retrageți numai linii unice. Acest lucru se face folosind expresia distinctă după instrucțiunea SELECT.

Exemplul 17. Să fie obligat să aflați care sunt departamentele și ce posturi între departamentele ale căror numere sunt mai mici de 30. Acest lucru se poate face folosind următoarea solicitare:

Solicitare Rezultat:


Selectați operatorul în Subqueries SQL

Până în prezent, am înțeles desenele SQL cu declarația selectată, în care sunt selectate condițiile în care datele selectate și datele selectate sunt conținute în aceeași masă de bază de date. În practică, se întâmplă adesea că datele care trebuie selectate sunt conținute în același tabel, iar condițiile sunt în cealaltă. Suporturile vin la salvare: Setările selecției sunt returnate dintr-o altă interogare (interogare imbricată), care pornește și cu selectarea. Solicitările cu subquerie pot produce atât una cât și mai multe linii.

Exemplul 18. Toate aceleași tipuri de personal și personal. Lăsați-o să fie obligată să afle în ce unitate utilizează un angajat cu un număr de identificare 280 și unde este localizat unitatea. Dar informațiile despre diviziuni sunt stocate în tabelul ORG, iar informația angajaților se află în tabelul de personal. Acest lucru se poate face folosind următoarea solicitare cu o subquertie în care selectarea externă se referă la tabelul ORG și selectarea internă este la tabelul de personal:

Solicitare Rezultat:


Exemplul 19. Acum, necesită să aflați în ce unități (fără duplicare) angajați cu un salariu mai mic de 13000. Pentru aceasta, în secțiunea În cazul în care se selectează extern (interogare la tabelul ORG), o afecțiune care primește gama de valori (In) este setată, iar selectarea internă (la tabelul personalului) returnează doar intervalul necesar de valori:

Baze de date relaționale și limbaj SQL

Orice tabel are propriul său început logic și propriul său scop logic. De asemenea, orice tabel constă din date, care este frecvent, iar în cazul bazelor de date, mai mult, sunt situate în scatter. După cum sa menționat în prima înregistrare pe SQL și baze de date, datele pot fi introduse în mod regulat pe tot parcursul ciclului de viață al bazei de date. În acest timp, nu se poate face nici o duzină de date. În SQL, ca și în alte privințe în toate programele de calculator, puteți organiza date. Acest lucru este făcut de echipă Comanda prin.. Pentru această echipă, există două argumente

  • ASC stabilește ordinea ascendentă (de la mai mult la mai mult)
  • DESC - descendent (de la mai puțin la mai puțin)
În general, în SQL, ordonarea implicită este stabilită ascendentă (de la mai mică la mai mult).
Să încercăm să organizăm tabelul de debitori după nume - Coloana Sname - Descendent

Debitorii.

Numai LUNĂ. An. Sname. Oraș. Abordare Penalizare Creanţă.
0001 iulie2012 Ivanov.Stavropol.Stavropol, 1.4891.00 50000
0002 decembrie2019 Kononov.TătarȚara, 254.19565.00 684068
0003 Mai2013 Yamshin.Mikhailovsk.Rural, 48.9868.00 165840
0004 August2012 Preda.Stavropol.Central, 16.4659.00 46580
... ... ... ... ... ... ... ...
9564 Martie2015 StradăDöhino.Internațional, 156.6846.00 435089
9565 octombrie2012 Pavlova.Stavropol.Vokzalnaya, 37.685.00 68059
9566 ianuarie2012 URYUP.Mikhailovsk.Fântâna, 19.1235.00 51238
9567 noiembrie2017 GăuriTătarIeșire, 65.13698.00 789654

Efectuați o cerere
SELECTAȚI *
De la debitori.
Comanda de SNAME DESC;

Debitorii.

Numai LUNĂ. An. Sname. Oraș. Abordare Penalizare Creanţă.
0003 Mai2013 Yamshin.Mikhailovsk.Rural, 48.9868.00 165840
9566 ianuarie2012 URYUP.Mikhailovsk.Fântâna, 19.1235.00 51238
9564 Martie2015 StradăDöhino.Internațional, 156.6846.00 435089
0004 August2012 Preda.Stavropol.Central, 16.4659.00 46580
9565 octombrie2012 Pavlova.Stavropol.Vokzalnaya, 37.685.00 68059
0002 decembrie2019 Kononov.TătarȚara, 254.19565.00 684068
0001 iulie2012 Ivanov.Stavropol.Stavropol, 1.4891.00 50000
9567 noiembrie2017 GăuriTătarIeșire, 65.13698.00 789654

De asemenea, ordonarea poate fi efectuată în date grupate, potrivit echipei. Dar, în acest caz, ordinea echipei în interogare ar trebui să stea în ultimul rând, adică
SELECTAȚI *
De la debitori.
Grup de Sname.
Comanda de SNAME DESC;

Dacă în câmpurile comandate există celule cu valori goale (NULL), în funcție de programele care lucrează cu baza de date, astfel de celule pot fi amplasate fie la capătul listei, fie la început.
Există un alt truc pentru a organiza date. Luați în considerare cererea
Selectați Num, An, Sname
De la debitori.
Comanda cu 2 desc;

Aici, două se înțeleg numărul de secvență al coloanei din linia "Select Num, An, Sname" și este tocmai această coloană va fi clasată în descendentă ca rezultat.

Debitorii.

După cum se poate observa, valorile au fost comandate în coloana anului, unde la începutul listei, data ulterioară.
Deci, comandarea în SQL are aceleași principii de clasament ca în orice programe de calculator. Totul depinde de administratorul bazei de date și de nevoile acestuia în această informație pe care vrea să o obțină.



Conținutul articolului
1. Cele mai simple cereri MySQL
2. SELECT SELECT (SELECT) Solicitări
3. Inserare simple (noile înregistrări) solicitări
4. Actualizare simplă (suprascriere, finisare) solicitări
5. Simplu DELETE (Ștergere înregistrare) Solicitări
6. Simple Drop (Tabelul de ștergere) Solicitări
7. Solicitări complexe ale MySQL
8. Solicitările și variabilele MySQL PHP

1. Cele mai simple solicitări SQL

1. Vom lista tuturor bazelor de date.

Afișați bazele de date;
2. Vor fi o listă a tuturor tabelelor din baza de date Base_name.

Afișați tabele în nume de bază;

2. SELECT SELECT (SELECT) interogări de bază de date MySQL

SELECTAȚI - o solicitare care alege deja datele existente din baza de date. Puteți specifica anumiți parametri de selecție. De exemplu, esența cererii către limba rusă sună ca aceasta - alegeți o astfel de coloană a unui astfel de tabel în care parametrul unei astfel de coloane este egal cu valoarea.

1. Selectează toate datele din tabelul TBL_NAME.

Selectați * de la TBL_NAME;
2. Afișează numărul de intrări din tabelul TBL_NAME.

Selectați numărul (*) de la TBL_NAME;
3. Selectează (selectați) de la (de la) Tabelul de tabel TBL_NAME Limită (limită) 3 înregistrări începând de la 2.

Selectați * din limita TBL_NAME 2.3;
4. Selectează (Selectați) toate înregistrările (*) de la (de la) TBL_NAME și le sortați (comanda) după ID-ul câmpului în ordine.

Selectați * de la comanda TBL_NAME după ID;
5. Selectează (selectați) toate înregistrările de la (de la) TBL_NAME și le sortează (comanda by) pe câmpul de câmp în ordine inversă.

Selectați * de la comanda TBL_NAME de ID Desc;
6. alege ( SELECTAȚI) Toate (*) intrări de la ( Din.) Mese utilizatori. și le sortează ( Comanda prin.) pe teren iD. În ordine ascendentă, limita ( Limită.) Primele 5 înregistrări.

Selectați * de la comanda utilizatorilor după limita ID 5;
7. Alege toate înregistrările din tabel utilizatori.unde câmpul fname. Corespunde valorii. Gena..

Selectați * de la utilizatorii în care FNAME \u003d "GENA";
8. Selectează toate înregistrările din tabel utilizatori.unde valoarea câmpului fname. începe cu GE..

Selectați * de la utilizatorii în care FNAME vă place "GE%";
9. Selectează toate înregistrările din tabel. utilizatori.Unde fname. se termină n / A.și simplifică înregistrările în creșterea valorii iD..

Selectați * de la utilizatori în cazul în care FNAME vă place comanda "% na" după ID;
10. Selectează toate datele de la difuzoare. fname., lNAME. de la masă. utilizatori..

Selectați FNAME, LNAME de la utilizatori;

11. Să presupunem că aveți date personalizate în tabel. Deci, dacă doriți să afișați doar o listă de valori întâmpinate (astfel încât, de exemplu, Rusia nu este afișată de 20 de ori, ci doar una), apoi folosim distinct. Va ieși, de la masa de valori repetate ale Rusiei, Ucraina, Belarus. Astfel, de la masă utilizatori. Difuzoare Țară. Toate sensurile unice vor fi afișate.

Selectați țara distinctă de la utilizatori;
12. Selectează toate liniile din tabel utilizatori. Unde vârstă. Are 18,19 și 21.

Selectați * de la utilizatorii în care vârsta în (18,19,21);
13. Selectează valoarea maximă vârstă. Masa utilizatori.. Adică dacă aveți cele mai importante în masă vârstă.(Din engleză) în mod egal 55, apoi rezultatul interogării va fi de 55 de ani.

Selectați max (vârstă) de la utilizatori;
14. Selectați datele din tabel utilizatori. Pe câmpuri nume. și vârstă. UNDE vârstă. Acceptă cea mai mică valoare.

Selectați numele, min (vârstă) de la utilizatori;
15. Selectați datele din tabel utilizatori. pe teren nume. UNDE iD. Nu egală cu 2.

Selectați numele de la utilizatori unde ID! \u003d "2";

3. Inserare simple (intrare nouă) solicitări

Introduce. - Cerere, care permite introducerea inițial a unei intrări în baza de date. Adică, creează o nouă intrare (linie) în baza de date.

1. Face o nouă intrare în tabel utilizatori., în câmp nume. inserează sergey și în câmp vârstă. Inserează 25. Astfel, tabelul adaugă un nou rând cu valorile datelor. Dacă difuzoarele sunt mai mari, atunci rămân lăsate fie goale, fie cu valori implicite.

Introduceți în valori utilizatorilor (nume, vârstă) ("sergey", "25");

4. Simplu de actualizare a bazei de date MySQL

Actualizați. - o solicitare care vă permite să suprascrieți valorile câmpurilor sau să adăugați ceva în linia deja existentă în baza de date. De exemplu, există o linie gata, dar trebuie să suprascrie parametrul vârstei, așa cum sa schimbat cu timpul.

1. Tabelul utilizatori. vârstă. Devine 18.

Actualizați utilizatorii setați vârsta \u003d "18" unde ID \u003d "3";
2. La fel ca în prima cerere, sintaxa de interogare este prezentată pur și simplu, unde două câmpuri sunt suprascrise și mai mult.
Masa utilizatori. Unde ID este 3 Valoarea câmpului vârstă. devine 18, și Țară. Rusia.

Actualizați utilizatorii stabiliți vârsta \u003d "18", țară \u003d "Rusia" unde id \u003d "3";

5. Simplu DELETE (Ștergere înregistrare) Interogare la baza de date MySQL

Șterge. - o solicitare care elimină un șir de la masă.

1. Șterge un șir de la masă utilizatori. UNDE iD. egal cu 10.

Ștergeți de la utilizatori unde ID \u003d "10";

6. Simplu de picătură (Tabelul de ștergere) interogare la baza de date MySQL

Cădere brusca. - o cerere care șterge tabelul.

1. Îndepărtează întreaga masă tbl_name..

Drop tabel tbl_name;

7. Interese sofisticate de baze de date MySQL

Cereri curioase care pot fi utile chiar și pentru utilizatorii experimentați

Selectați ID, nume, țară de la utilizatori, administratori în cazul în care To_days (acum ()) - to_days (Registry_date)<= 14 AND activation != "0" ORDER BY registration_date DESC;
Această interogare complexă alege difuzoarele iD, nume, țară În tabele utilizatori, administratori. UNDE data Înregistrării. (data) nu mai în vârstă 14 zilele I. activare. NU ESTE EGAL 0 , Filtrează după data Înregistrării. în ordine inversă (nouă la început).

Actualizați utilizatorii Setați vârsta \u003d "18+" în cazul în care vârsta \u003d (selectați vârsta de la utilizatori în cazul în care bărbați \u003d "om");
Exemplul este exemplul așa-numitei cererea în cerere în SQL. Actualizați vârsta în rândul utilizatorilor la 18+, unde podeaua este bărbat. Opțiunile de interogare similare nu recomandăm. Conform experienței personale, voi spune, este mai bine să creați mai multe separate - acestea vor fi elaborate mai repede.

8. Interogați la baza de date MySQL și PHP

În cererile MySQL din pagina PHP, puteți introduce variabile ca valori comparate și TP. O pereche de exemple

1. Alege toate înregistrările din tabel utilizatori.unde câmpul fname. corespunde valorii variabilei $ Nume..

Selectați * de la utilizatorii în cazul în care Fname \u003d "$ nume";
2. Tabelul utilizatori. Unde ID este 3 Valoarea câmpului vârstă. Modificări ale valorii variabilei de vârstă de $.

Actualizați utilizatorii stabiliți vârsta \u003d "vârsta" în cazul în care ID \u003d "3";

Atenţie! Dacă sunteți interesat de orice alt exemplu, atunci scrieți o întrebare în comentariu!

Eliminarea înregistrărilor

Pentru a elimina înregistrările din tabel, se aplică operatorul de ștergere:

Ștergeți de la Nametablitsa unde starea;

Acest operator elimină înregistrarea din tabelul specificat (și nu separați valorile coloanei) care satisfac starea specificată. Condiția este o expresie logică, ale căror designuri au fost luate în considerare în clasele anterioare de laborator.

Următoarea interogare șterge înregistrarea din tabelul de client, în care valoarea coloanei LNAME este "Ivanov":

Ștergeți de la client.

Unde LNAME \u003d "Ivanov"

Dacă tabelul conține informații despre mai mulți clienți cu numele de familie al lui Ivanov, atunci toate vor fi eliminate.

În declarația Unde poate fi o subvenționare pentru o probă de date (Selectați instrucțiunea). Subqueries în operatorul de ștergere funcționează în același mod ca în instrucțiunea SELECT. Următoarea cerere șterge toți clienții din orașul Moscova, în timp ce identificatorul unic al orașului este returnat folosind subquery.

Ștergeți de la client.

În cazul în care idcitatea (selectați Idcitatea din orașul în care NityName \u003d "Moscova")

Transact-SQL extinde un SQL standard, permițându-vă să utilizați în declarația de ștergere alta de la unul. Această extensie în care este setată conexiunea poate fi utilizată în locul unei interogări investit în clauza Unde este specificată liniile detașare. Vă permite să specificați datele de la al doilea de la și să ștergeți liniile corespunzătoare din tabelul din prima ofertă de la. În special, cererea anterioară poate fi rescrisă după cum urmează.

Ștergeți de la client.

De la client k interior Alăturați-vă

Funcționarea eliminării înregistrărilor din tabel este periculoasă în sens, care este asociată cu riscul de pierdere ireversibilă a datelor în cazul erorilor semantice (dar nu sintactice) în formularea expresiei SQL. Pentru a evita problemele, se recomandă să executați mai întâi cererea de selecție corespunzătoare pentru a vizualiza înregistrările care vor fi șterse. De exemplu, înainte de a efectua examinarea anterior, cererea de ștergere nu va împiedica cererea de selecție corespunzătoare.

SELECTAȚI *

De la client k interior Alăturați-vă

CITY C pe K.IDCITY \u003d C.IDCITY ȘI C.CITYNAME \u003d "Moscova"

Pentru a șterge toate înregistrările din tabel, este suficient să utilizați declarația de ștergere fără cuvântul cheie unde. În același timp, tabelul cu toate coloanele definite în ea rămâne și este gata să introducă noi înregistrări. De exemplu, următoarea solicitare șterge înregistrările tuturor bunurilor.

Ștergeți de la produs

Sarcina pentru lucrări independente: Formulați în SQL Solicitare lingvistică pentru eliminarea tuturor comenzilor care nu au nici un produs (adică toate comenzile goale).



Ți-a plăcut articolul? Împărtășește-l