Sql selectați interogarea în bazele de date sqlite, blogul despre crearea site-ului web, promovarea site-ului, câștigurile în

Subiect 12: Interogări SQL pentru SELECT în bazele de date SQLite

Bună ziua, vizitator al site-ului ZametkiNaPolyah.ru. Continuăm să studiem bazele de date și cunoștințele noastre cu biblioteca SQLite3. SQL interogare SELECT, am decis să dau întregul subiect, care constă din 15 părți. Prima intrare este una introductivă, din care veți afla ce puteți face cu o interogare SELECT în bazele de date relaționale. Și crede-mă, poți face multe. În această intrare, nu veți găsi o singură linie de cod SQL, este doar o descriere verbală a ce poate face SELECT și pentru care este necesar.

Sql selectați interogarea în bazele de date sqlite, blogul despre crearea site-ului web, promovarea site-ului, câștigurile în

SQL SELECT interogări în bazele de date SQLite

Utilizarea și atribuirea interogărilor SELECT SQL în bazele de date

Bazele de date relaționale sunt una dintre cele mai naturale metode de a descrie un obiect din lumea reală: coloanele sunt caracteristicile unui obiect, liniile sunt informații despre un obiect. Am învățat deja cum să lucrăm cu obiecte de bază de date: să creați tabele în baza de date și alte obiecte, să ștergem obiecte de bază de date și să modificăm tabelele din baza de date. Putem manipula datele în tabele. Adăugați rânduri în tabele, ștergeți rânduri din tabele și modificați datele din tabele.

Dar bazele de date ar fi inutile dacă nu am putea obține informații despre obiectele și obiectele descrise în lumea reală. Pentru a obține informații din tabelele bazei de date, există o interogare specială SQL SELECT. SQL SELECT interogări pot fi foarte greoaie din cauza din care acestea sunt considerate complexe, dar în viitor vom vedea că toată complexitatea interogare SQL SELECT este supusă unor reguli specifice care, de fapt, foarte simplu, clar și natural, așa cum sunt relaționale bază de date.

Comanda SELECT este cel mai puternic instrument de limbă de interogare SQL. puteți obține rapid informații despre felul în care funcționează alte comenzi și apoi mergeți în detalii cu privire la modul în care SELECT funcționează și afirmă cu certitudine că puteți lucra cu bazele de date utilizând interogări SQL.

Deci, deja am dat seama că interogarea SQL SELECT vă permite să obțineți date din baza de date sau altfel: Interogarea SQL SELECT face o selecție de date din baza de date. Ne vom ocupa de comanda SELECT pentru 15 piese ulterioare, fiecare parte fiind un mic exemplu despre cum funcționează SELECT și ce puteți face cu interogarea SQL SELECT. crede-mă, poți face multe și în acest sens vei fi curând convins.

Aproape am uitat de cel mai important lucru, ar trebui să spunem că rezultatul interogării SQL SELECT este întotdeauna un tabel. Dacă executați comanda SELECT, atunci orice DBMS vă va returna tabela, cu condiția ca interogarea să fie compilată corect și există date în baza de date care să satisfacă solicitarea dvs., altfel nu veți primi nimic sau nu veți primi o eroare.

Sintaxa interogării SQL SELECT în bazele de date SQLite

Sintaxa SQL a unei interogări SELECT este greoaie și cere dezvoltatorului să respecte anumite reguli și o anumită ordine în utilizarea cuvintelor cheie. Figura următoare prezintă sintaxa generală SQL a unei interogări SELECT în bazele de date SQLite3.

Sintaxa interogării SQL SELECT în bazele de date SQLite3

Deși interogarea SQL este SELECTĂ și greoaie, dar nu este nimic complicat în ea, ca în principiu în SQL. Pentru a spune SQLite că vrem să obținem date din baza de date, folosim cuvântul cheie SELECT, apoi vom lista coloanele din care dorim să preluăm datele.

Următorul este cuvântul cheie FROM, urmat de numele tabelului din care doriți să preluați datele. În locul unui nume de tabel, se poate folosi un calificativ. Un calificator este numele complet al obiectului bazei de date, alcătuit din numele bazei de date și numele obiectului.

Și apoi începe distracția, atunci ceea ce face ca interogarea SQL SELECT atât de puternic un mijloc de baze de date relaționale. diferite condiții de eșantionare a datelor.

Interogarea SQL SELECT are două modificatoare: ALL și DISTINCT. În mod implicit, SQLite utilizează ALL modificatorul, deci nu îl puteți scrie. Particularitatea modificatorului ALL este că în acest caz interogarea SQL este executată și SQLite în tabelul rezultat afișează toate rândurile, chiar și cele repetate.

Modificatorul DISTINCT este utilizat când trebuie să selectăm din baza de date și să excludem rândurile duplicat.

Clauze și predicate. Exprimarea expresiilor pentru interogarea SQL SELECT în SQLite

Primul lucru de menționat este că interogarea SQL SELECT vă permite să utilizați tot felul de clauze și predicate. O clauză sau predicat este o frază calificată, este mai corect să se utilizeze termenul "clauză". Explicațiile de expresie ajută la realizarea unui eșantion de punct din tabela de baze de date SQLite3 și din alte DBMS-uri relaționale.

Ordinea de folosire a expresiilor de clarificare în bazele de date SQLite este foarte importantă, deși putem renunța la unele clauze, însă ordinea generală de scriere trebuie să fie respectată:

  1. Clauza WHERE. WHERE vă permite să impuneți o condiție de recuperare a datelor dintr-o tabelă de baze de date care execută SQLite
  2. Predicați GROUP BY. GRUP BY vă permite să grupați un eșantion de date în bazele de date SQLite.
  3. Clarificarea expresiei HAVING. HAVING este folosit pentru a filtra gruparea de date.
  4. Clauza ORDER BY. ORDER BY vă permite să comandați rezultatele eșantionului de date.
  5. Predicare LIMIT. LIMIT este utilizat pentru a limita numărul de rânduri dintr-un tabel care rezultă dintr-o selecție.

Pentru a compune cu succes interogări SQL complexe, trebuie să vă amintiți ordinea utilizării expresiilor de clarificare și a scopului fiecărei fraze. Apropo, nimeni nu te interzice să folosești expresii complexe.

Combinarea a două sau mai multe interogări SQL SELECT în bazele de date SQLite

SQL SELECT interogări sunt greoaie, nu numai datorită faptului că utilizează o dată toată fraza de calificare, dar și pentru că, chtoSQLite3 face posibilă integrarea interogări SQL SELECT, mai degrabă să spun pentru a combina rezultatele a două interogări SELECT utilizând UNIUNII cuvinte cheie. Adesea utilizarea UNION și SELECT poate produce rezultate foarte interesante. Sintaxa pentru utilizarea UNION în SQLite3 este prezentată în figura de mai jos.

Sintaxă UNION în interogarea SQL SELECT

Astfel, putem scrie o interogare SQL SELECT utilizând toate expresiile de rafinament. apoi scrie UNION și scrie un alt zece SELECT, și SQLite efectua o interogare, și să aibă rezultatul va fi unul valori de masă, care sunt de două tabele: rânduri mai întâi să fie retrase din primul tabel, și apoi se adaugă aceste siruri de la liniile din a doua tabel. Dar nimeni nu vă interzice să combinați trei sau mai multe cereri

Compararea rezultatelor a două interogări SQL SELECT în bazele de date SQLite

Interogarea SQL SELECT întotdeauna ne întoarce un tabel, acest lucru este foarte important pentru înțelegerea muncii sale. Deoarece interogarea SQL SELECT nu numai că face o mostră de date, ea vă permite de asemenea să comparați rezultatele unui eșantion de date cu cuvintele EXCEPT și INTERSECT. Prima frază cheie oferă posibilitatea de a obține numai rânduri unice din două sau mai multe tabele intermediare, iar al doilea vă permite să scrieți în tabelul rezultat numai rânduri duplicate din două tabele obținute în subcheile.

Când utilizați interogarea SQL SELECT, veți întâlni în mod inevitabil faptul că SQLite (în loc de SQLite poate fi orice alt DBMS) va compara valorile în tabele sau compararea șirurilor. Prin urmare, în primul rând, trebuie să înțelegeți cum SQLite compară valorile. Și în al doilea rând, să știm despre tipurile de date din SQLite:

Am vorbit despre toate acestea mai devreme și chiar și în detalii foarte detaliate.

Utilizarea instrucțiunilor SQL împreună cu SELECT în bazele de date SQLite

Pentru a complica logica cererilor de interogări de date, putem folosi diferite instrucțiuni SQL. am vorbit despre ele mai devreme și le-am enumerat. SELECT poate folosi expresiile logice AND și OR pentru a face condițiile de eșantionare mai exacte. În interogările SELECT SQL, putem folosi instruciunea BETWEEN. Instrucțiunile BETWEEN și SELECT vă permit să obțineți valori într-un interval care este definit de instrucțiunea BETWEEN.

Avem, de asemenea, posibilitatea de a utiliza operatorul LIKE. Exemplele LIKE și SELECT vă permit să faceți o căutare de tipar sau puteți spune că folosind combinația LIKE, putem efectua o comparație de șir cu un model dat. Și rezultatul selecției va fi un tabel care conține numai acele linii în care există un substring specificat în șablonul LIKE.

Uneori este necesar ca în tabelul rezultat, obținut cu interogarea SQL SELECT. au existat linii care conțin doar un anumit set de valori în coloanele lor, pentru a face o astfel de selecție, trebuie să folosim operatorul IN. Tabelul rezultat, obținut după combinația dintre IN și SELECT, va conține șiruri dintr-un anumit set de valori.

Subqueries SELECT în bazele de date SQLite

Subinterogarilor SELECT implementat destul de simplu: vom scrie interogarea principală sau exterior SELECT, continuă să se stabilească condițiile (dacă vom specifica condiție, este utilizarea SQLoperator inevitabilă), ci ca operandul drept, noi nu cerem nici o valoare deosebită, și scrie cerere între paranteze SELECTv.

Subqueries a primit acest nume din faptul că două sau mai multe comenzi SELECT sunt utilizate pentru implementarea lor, se pare că, de exemplu, un SELECT va fi imbricat în altul. Primul SELECT este numit o interogare externă, iar cea de-a doua interogare SQL este o subchetare internă SELECT.

Cel mai adesea, subcheile SELECT sunt utilizate cu operatorul EXISTS sau cu instrucțiunea IN. Dacă scrieți subinterogare folosind EXISTS, vedeți numai rezultatul în cazul în care operandul din dreapta (de fapt, o subinterogare sau o cerere internă) va avea valoarea reală, de altfel, în cazul în care se întoarce subinterogarea NULL, cererea externă este făcută.

Cu alte cuvinte: dacă subcheierea returnează FALSE, interogarea exterioară nu va fi executată nici măcar.

Combinând două tabele SQL cu interogare SELECT în bazele de date SQLite

Partea cea mai plăcută a interogării SQL este SELECT. dar, în același timp, cea mai dificilă, deși complexitatea sa este mai degrabă decât cea reală. Interogările SQL SELECT vă permit să vă alăturați tabelelor bazei de date. Tabelele de îmbinare în SQL se fac folosind cuvântul cheie JOIN. Standardul SQL definește mai multe tipuri de îmbinări ale tabelelor JOIN:

  1. Sindicatul intern: INNER JOIN.
  2. Intalnire completa: COMPLETE FULL.
  3. Exemplu exterior drept: DREAPTA JOIN.
  4. Îmbinarea exterioară stângă: ALIMENTARE EXTERIORĂ STÂNGA.
  5. Asociere cu cruce: CROSS JOIN.

Pentru o conexiune exterioară, puteți omite cuvântul cheie OUTER, cel puțin SQLite vă permite să faceți acest lucru. Dar, există un dezavantaj pentru SQLite, în această bază de date sunt implementate doar trei asociații: LEFT, CROSS și INNER. Aici este o limitare a creativității atunci când scriem interogări SELECT SQL au fost introduse de dezvoltatorii SQLite3.

Utilizarea SQL SELECT cu alte comenzi SQLite

Nu am putut să nu menționăm că interogarea SQL SELECT poate fi utilizată cu alte comenzi ale limbajului SQL. Firește, putem executa interogări SELECT în cadrul tranzacțiilor, astfel încât comenzile de gestionare a tranzacțiilor nu sunt nici măcar discutate. În SQLite3 nu există comenzi pentru a determina accesul la date. așa că nu le vom atinge.

  1. Putem crea tabele în baza de date folosind comanda CREATE TABLE. dar, de asemenea, SQLite ne dă posibilitatea de a crea tabele folosind cuvântul cheie AS și SQL SELECT.
  2. Nu putem folosi interogarea SELECT SQL atunci când dorim să eliminăm o tabelă din baza de date utilizând comanda DROP.
  3. De asemenea, nu putem folosi interogarea SELECT dacă dorim să modificăm tabelul sau alt obiect de bază de date cu comanda ALTER.

Ultimele două elemente se datorează faptului că comenzile de mai sus funcționează la nivelul obiectului, iar SELECT funcționează cu datele.

Comenzi de manipulare a datelor:

  1. Când adăugăm rânduri la tabela bazei de date folosind comanda INSERT. atunci putem face acest lucru cu o subchetare.
  2. Dacă trebuie să eliminăm rânduri din tabela de baze de date. Nu folosim comanda DELETE atat de des, dar totusi, putem selecta sirurile de stergere pentru a le sterge folosind interogarea SQL SELECT.
  3. Pentru a modifica datele din baza de date, utilizați comanda UPDATE. Pentru ca acesta să funcționeze, trebuie să selectăm liniile care trebuie modificate. Și ce ar putea fi mai bine pentru selectarea șirurilor decât SQL SELECT?

Accelerați interogările SQL SELECT în bazele de date relaționale

Putem optimiza comanda SELECT în SQLite și alte DBMS-uri relaționale. Accelerarea selecției datelor are loc prin crearea de indici în tabela de baze de date. Indexurile accelerează foarte mult eșantionarea datelor, însă în schimb le fac mai multe operații de manipulare a datelor mai scumpe. Am vorbit deja în detaliu despre indicii din bazele de date SQLite3.

Amintiți-vă că SQLite creează un index intern pentru fiecare tabel (coloana ROWID), care poate coincide cu indexul creat folosind constrângerea cheie primară KEY PRIMARY (un pic de teorie despre chei și atributele cheie). De asemenea, putem organiza conexiunea între mese utilizând constrângerea cheii străine KEY foreign. Această abordare nu numai că asigură integritatea datelor din baza de date. dar, de asemenea, accelerează eșantionarea datelor. Aceasta este o altă aplicație a constrângerilor la nivel de tabelă în bazele de date SQL și relaționale.

Deci, de fapt, am oferit o scurtă descriere a interogării SQL SELECT. Nu există exemple, ci doar o descriere verbală care a luat mai multe pagini, dar spunem că descrierea este scurtă. Da, interogările SELECT SQL sunt foarte lungi, dar ele nu pot fi numite complexe, puteți verifica acest lucru uitandu-te la exemplele care vor fi în continuare și chiar mai bine dacă le repetați singuri.

Un pic despre cum să creați site-uri web și cum să promovați un site web:

Vă recomandăm să vedeți și să citiți: