Cum se compun interogările SQL - exemple detaliate
Fiecare dintre noi se ciocnește în mod regulat și folosește baze de date diferite. Când selectăm o adresă de e-mail, lucrăm cu baza de date. Bazele de date folosesc serviciile de căutare, băncile pentru stocarea datelor despre clienți etc.
conținut
Dar, în ciuda utilizării constante a bazelor de date, chiar și pentru mulți dezvoltatori de sisteme software, multe "pete albe" rămân din cauza interpretării diferite a acelorași termeni. Vom da o scurtă definiție a termenilor principali ai bazelor de date înainte de a examina limba SQL. Ei bine, atunci.
bază de date -un fișier sau set de fișiere pentru stocarea structurilor de date ordonate și interrelațiile lor. Foarte adesea, o bază de date se numește un sistem de gestionare a bazelor de date (DBMS). Baza de date este doar un depozit de informații într-un anumit format și poate funcționa cu diferite DBMS-uri.
tabel -Să ne imaginăm un dosar în care documentele sunt stocate grupate de o anumită caracteristică, de exemplu o listă de comenzi pentru ultima lună. Acesta este tabelul din computer bază de date. O masă separată are un nume unic.
Tip de date -Tipul de informații care pot fi stocate într-o coloană sau rând separat. Poate fi numere sau text de un anumit format.
Coloană și șir - am lucrat cu foi de calcul, care conțin și rânduri și coloane. Orice bază de date relațională funcționează cu tabele într-un mod similar. Rândurile sunt uneori numite înregistrări.
Cheia primară - fiecare rând din tabel poate conține una sau mai multe coloane pentru identificarea sa unică. Fără o cheie primară, este foarte dificil să actualizați, să modificați sau să ștergeți rândurile necesare.
Ce este SQL?
Limba de interogare SQL (Eng. Limba de interogare structurată - limba de interogare structurată) a fost proiectată numai pentru lucrul cu bazele de date și este în prezent standard pentru toate bazele de date populare. Sintaxa limbii constă într-un număr mic de operatori și este ușor de învățat. Dar, în ciuda simplității sale externe, permite crearea de interogări sql pentru operații complexe cu baze de date de orice dimensiune.
Din 1992, există un standard general acceptat, numit ANSI SQL. Acesta definește sintaxa de bază și funcțiile operatorilor și este susținută de toți liderii de piață din DBMS, cum ar fi ORACLE Microsoft SQL Server. Este imposibil să luăm în considerare toate caracteristicile limbajului într-un mic articol, așa că vom examina pe scurt numai interogările SQL de bază. Exemple ilustrează simplitatea și capacitățile limbii:
- crearea de baze de date și tabele;
- prelevarea de date;
- adăugarea de înregistrări;
- modificarea și ștergerea informațiilor.
Tipuri de date SQL
Toate coloanele din tabela de baze de date stochează un tip de date. Tipurile de date din SQL sunt aceleași ca în alte limbi de programare.
Tip de date | descriere |
INT | numere întregi |
REAL | Numere cu puncte în virgulă |
TEXT | Șir de caractere cu lungime variabilă |
La DATE | interogarea SQL "date" în diferite formate |
TIME | timp |
CHAR | String-uri de text cu lungime fixă |
Crearea de tabele și baze de date
Puteți crea noi baze de date, tabele și alte interogări în SQL în două moduri:
- Instrucțiuni SQL prin consola DBMS
- Utilizarea instrumentelor interactive de administrare care fac parte din serverul de baze de date.
O nouă bază de date este creată de operator CREAȚI DATABASE
Creăm tabelele din baza de date cu instrucțiunea CREATE TABLE cu următorii parametri:
- nume de tabel
- numele de coloane și tipurile de date
De exemplu, creați un tabel de mărfuri cu următoarele coloane:
coloană | descriere |
commodity_id | Codul produsului |
VENDOR_ID | ID furnizor (furnizori cheie chei externi) |
commodity_name | Numele produsului |
commodity_price | costul |
commodity_desc | descriere |
Creați tabelul:
CREATE COMODITATEA TABELULUI
(commodity_id CHAR (15) NU NULL,
vendor_id CHAR (15) NU NULL,
numele comodității CHAR (254) NULL,
commodity_price DECIMAL (8,2) NULL,
commodity_desc VARCHAR (1000) NULL) -
Tabelul constă din cinci coloane. După ce numele este un tip de date, coloanele sunt separate prin virgule. Valoarea coloanei poate fi nulă (NULL) sau trebuie umplută (NOT NULL), iar aceasta se determină la crearea tabelului.
Selectarea datelor dintr-o tabelă
Operatorul de preluare a datelor este cea mai frecvent utilizată interogare SQL. Pentru a obține informații, trebuie să specificați ce doriți să selectați dintr-un astfel de tabel. Mai întâi un exemplu simplu:
SELECT nume_comoditate FROM Commodity
După instrucțiunea SELECT, specificăm numele coloanei pentru a prelua informațiile, iar FROM specifică tabelul.
Rezultatul executării interogării va fi toate rândurile tabelului cu valorile nume_cunoscut în ordinea în care acestea au fost introduse în baza de date, adică. fără sortare. Pentru a ordona rezultatul, utilizați clauza opțională ORDER BY.
Pentru a interoga mai multe câmpuri, le afișăm cu o virgulă, ca în exemplul următor:
SELECT commodity_id, commodity_name, commodity_price FROM Commodity
Este posibil să obțineți valoarea tuturor coloanelor șirului ca urmare a interogării. Pentru aceasta, folosiți semnul "*":
SELECT * FROM Commodity
- În plus, SELECT acceptă:
- Datele de sortare (clauza ORDER BY)
- Selectarea în funcție de condițiile (WHERE)
- Termenul de grupare (GROUP BY)
Adăugarea unui rând
Pentru a adăuga un rând în tabel, utilizați interogări SQL cu instrucțiunea INSERT. Adăugarea poate fi făcută în trei moduri:
- adăugați o linie complet nouă;
- o parte a liniei;
- rezultatele interogării.
Pentru a adăuga o linie completă, trebuie să specificați numele tabelului și coloanele din noul rând. Să dăm un exemplu:
INSERT INTO VALUES mărfii ( `106`, `50`, `Coca-Cola`, `1,68`, „Nu Alcogol,)
Exemplul adaugă un nou produs în tabel. Valorile sunt specificate după VALORI pentru fiecare coloană. Dacă nu există o valoare corespunzătoare pentru coloană, atunci trebuie să specificați NULL. Coloanele sunt umplute cu valori în ordinea specificată la crearea tabelului.
În cazul în care adăugați doar o parte din șir, trebuie să specificați în mod explicit numele coloanelor, ca în exemplu:
INSCRIEȚI ÎN MĂRFURI (mărfuri commodity_id, vendor_id, nume de produse)
VALORI ("106", lsquo-50 "," Coca-Cola "),
Am introdus numai identificatorii mărfurilor, furnizorul și numele acestuia, iar câmpurile rămase au fost lăsate goale.
Adăugarea rezultatelor interogării
Practic, INSERT este folosit pentru a adăuga șiruri de caractere, dar poate fi, de asemenea, utilizat pentru a adăuga rezultatele instrucțiunii SELECT.
Editați datele
Pentru a modifica informațiile din câmpurile tabelului de baze de date, trebuie să utilizați instrucțiunea UPDATE. Operatorul poate fi utilizat în două moduri:
- Toate rândurile din tabel sunt actualizate.
- Doar pentru un șir specific.
UPDATE constă din trei elemente principale:
- tabelul în care doriți să faceți modificări;
- numele câmpurilor și noile lor valori;
- condiții pentru selectarea rândurilor pentru schimbare.
Să luăm în considerare un exemplu. Să recunoaștem că la bunurile cu ID = 106 costul a fost modificat, prin urmare această linie trebuie actualizată. Scrieți următoarea declarație:
UPDATE Comoditate SET comodity_price = `3.2` WHERE commodity_id = `106`
Am arătat numele de masă, în acest caz, marfa, care va fi actualizat, iar apoi, după SET - noua valoare a coloanei și pentru a găsi elementul dorit, specificând ID-ul de valoare atunci când se dorește.
Pentru a modifica mai multe coloane după instrucțiunea SET, specificați mai multe perechi de coloane, separate prin virgule. Privim un exemplu în care se actualizează numele și prețul unui produs:
UPDATE Comoditate SET commodity_name = rsquo-Fantarsquo-, commodity_price = `3.2` WHERE commodity_id = `106`
Pentru a șterge informațiile într-o coloană, puteți să o setați la NULL dacă structura tabelului o permite. Trebuie să ne amintim că NULL este tocmai valoarea "nu" și nu zero în formă de text sau număr. Ștergeți descrierea produsului:
UPDATE Comoditate SET commodity_desc = NULL WHERE commodity_id = `106`
Ștergerea rândurilor
Solicitările SQL de a șterge rânduri în tabel sunt executate prin instrucțiunea DELETE. Există două utilizări:
- anumite rânduri sunt șterse în tabel;
- toate rândurile din tabel sunt șterse.
Exemplu de ștergere a unui rând dintr-un tabel:
DELETE FROM Comoditate WHERE commodity_id = `106`
După DELETE FROM, specificați numele tabelului în care vor fi șterse rândurile. Clauza WHERE conține o condiție de selectare a rândurilor de șters. În exemplu, ștergem linia de element cu ID = 106. Este foarte important să specificați WHERE. sărind acest operator va duce la eliminarea tuturor rândurilor din tabel. Acest lucru se aplică și în cazul modificării valorii câmpurilor.
Instrucțiunea DELETE nu specifică numele de coloane și metacaracterele. Elimină complet liniile și nu poate șterge o singură coloană.
Utilizarea SQL în Access
Microsoft Access de obicei folosit interactiv pentru a crea o foaie de calcul, baze de date, schimbari de management, analiza datelor în baza de date și pentru a pune în aplicare Access interogări SQL prin intermediul unui constructor de interogare interactiv convenabil (Query Designer), utilizând care vă puteți construi și executa imediat instrucțiuni SQL de orice complexitate .
De asemenea, acceptă modul de acces la server, în care DBMS Access poate fi folosit ca generator de interogări SQL pentru orice sursă de date ODBC. Această caracteristică permite interacțiunii cu aplicațiile de acces bază de date orice format.
Extensii SQL
Deoarece interogările SQL nu au toate capacitățile limbajelor de programare procedurală, cum ar fi buclele, ramificațiile etc., furnizorii de DBMS își dezvoltă propria versiune de SQL cu capabilități avansate. În primul rând, acesta este suportul pentru procedurile stocate și operatorii standard de limbă procedurală.
Cele mai comune dialecte ale limbii sunt:
- Oracle Database - PL / SQL
- Interbase, Firebird - PSQL
- Microsoft SQL Server - Transact-SQL
- PostgreSQL - PL / pgSQL.
SQL pe Internet
Baza de date MySQL este distribuită sub licența gratuită a GNU General Public License. Există o licență comercială cu posibilitatea de a dezvolta module personalizate. Ca parte integrantă a celor mai populare ansambluri de servere Internet, cum ar fi XAMPP, WAMP și LAMP, și este cea mai populară bază de date pentru dezvoltarea de aplicații pe Internet.
Acesta a fost dezvoltat de Sun Microsystems și este în prezent susținut de Oracle. Acesta susține baze de date de până la 64 terabyte, sintaxa standard SQL: 2003, replicare de baze de date și servicii cloud.
- Care sunt obiectivele designului bazei de date
- Baza de date normalizare
- Sisteme de management al vieții și bazelor de date
- Fișier SQL. Formatul de fișier SQL: descrierea extensiei
- Crearea unei baze de date MySQL face parte din orice site
- Care sunt datele? Tipuri de date
- DB este ... Tipuri și proprietăți ale bazei de date
- Care sunt cele mai frecvente în practică bazele de date?
- Oracle - ce este? Oracle Database
- MySQL - cererea în cerere. MySQL: exemple de interogări. Întrebări interogate MySQL
- ACCDB: cum se deschide un fișier
- Detalii despre ce să deschidă ACCDB
- Crearea interogărilor în Access. Tipuri de cereri
- Sistem de gestionare a bazelor de date (DBMS): clasificare, definiție și funcții
- Cum se creează o bază de date și ce este SQL?
- Structura bazei de date
- Tipuri de date de bază Mysql
- Crearea unei baze de date: tehnici și soluții existente
- Concepte generale ale DBMS de acces
- DBMS este un sistem de management al datelor
- Principalele puncte pe care le are baza de date Acces