Ghid pentru mysql căutare sql înregistrărilor din tabelul (selectați)

căutarea înregistrărilor se realizează cu SELECT

Această comandă caută pentru toate înregistrările din tabela table_name. care satisfac Expression.

Dacă mai multe înregistrări, atunci ordinea specificată de clauza, acestea vor fi clasificate în funcție de câmpul al cărui nume este scris în partea dreaptă a cuvântului cheie (dacă specificați cuvântul desc. Ordonarea are loc în ordine inversă). Propunerea poate, de asemenea, comanda prin numărul specificat de câmpuri.

De o importanță deosebită este caracterul *. Se impune ca intrările selectate din toate domeniile trebuie să fie eliminate atunci când prelevarea de probe echipa de primire va fi efectuată. Pe de altă parte, în loc de pinionul poate fi o listă separată prin virgulă câmpul direct nume care necesită îndepărtarea. Dar cel mai adesea o mai folosesc *.

Luați în considerare sintaxa completă a declarației.

Toți parametrii, începând cu SQL_, STRAIGHT_JOIN și HIGH_PRIORITY, reprezintă o extensie MySQL ANSI SQL. Opțiuni DISTINCTE, DISTINCTROW și TOATE specifica dacă să se întoarcă înregistrările duble. Setarea implicită (ALL), și anume întoarce toate aparițiile șirului. Și DISTINCTROW sunt DISTINCT sinonime și specifică faptul că rândurile duplicate din setul rezultat al datelor care urmează să fie șterse. Expresia expresie setează coloana în care doriți să eșantion. Comandă în outfile „nume_fisier“, scrie rândurile selectate în fișierul specificat în nume_fișier. Acest fișier este creat pe server și înainte de care nu ar trebui să existe. Pentru a utiliza această formă de comanda SELECT FILE privilegii necesare. Dacă în loc de a utiliza ÎN outfile ÎN DUMPFILE, atunci MySQL va înregistra în fișierul este doar o singură linie de caractere fara coloane sau rânduri este completă și fără nici un fel a fost de protectie. Rețineți că orice fișier creat de ÎN outfile și ÎN DUMPFILE, va fi ușor de citit polzovatelyam.Vyrazhenie-lumea din table_references specifică tabelele din care trebuie să recupereze rânduri. Opțiunea UNDE stabilește condițiile pentru datele eșantion.

De exemplu, trebuie să găsim un tabel care conține mesajele din cartea de oaspeți, toate intrările care au lăsat un anumit utilizator.

Dar dacă textul de căutare nu ocupă întregul câmp, și este parte a câmpului (de exemplu, atunci când se caută cuvinte sau expresii în textul general)?

De exemplu, eu folosesc următoarea comandă (această metodă nu este, probabil, cel mai bun, dar cu toate acestea funcționează):

Implicațiile acestui: dacă numărul de apariții de $ string de căutare în câmpul de conținut este mai mare de 0 (adică, în general, ea este), se adaugă înregistrarea la restul înregistrărilor găsite.

Trebuie remarcat faptul că metoda caută sensibilă textul. Pentru a căuta caz-insensibil, puteți utiliza următoarea comandă:

și anume șir de căutare și o intrare în tabel este tradus în majuscule și apoi a căutat.

Acum, imaginați-vă că avem o bază de mesaje din cartea de oaspeți și trebuie să sortăm mesajele de momentul în care au plecat.

Pentru a face acest lucru, unul dintre domeniile de bază de masă trebuie să conțină înregistrarea mesajului.

Sortarea în orice coloană se realizează prin intermediul unor ordine prin design.

În acest caz, ținând cont de faptul că un mesaj care „proaspete“ vor fi sortate de top:

Ie datele au fost sortate în ordine descrescătoare.

Dacă avem nevoie pentru a sorta datele în ordine crescătoare, trebuie să se utilizeze în schimb ASC DESC cuvinte cheie.

Datele pot fi, de asemenea, sortate dupa mai multe coloane. Pentru aceasta, specificați numele coloanelor separate prin virgulă. Acest lucru poate fi util, de exemplu, în cazul în care coloana pe care pentru a sorta, există mai multe valori duplicate.

Datele sunt sortate în primul rând de către prima field1 coloană. Apoi, în cazul în care prima coloană este mai mult, aceleași valori se realizează printr-o a doua coloană de sortare suplimentară (în interiorul unui grup cu aceleași valori în prima coloană).

Dacă doriți căutarea nu a emis toate înregistrările găsite ca un anumit grup, atunci trebuie să utilizați parametrul LIMIT.

Acest parametru specifică cele două valori:

  • începe - indică pozițiile trebuie să emită înregistrările găsite
  • Lungimea - numărul de înregistrări

De exemplu, trebuie să selectați din baza de date intrarea carte de oaspeți 20-45 (de exemplu, pentru a aduce 25 de înregistrări):