Selectarea înregistrărilor prin interogare SQL către baza de date în Python
În codul de test al interogării SQL există comanda
SELECT, care efectuează selectarea datelor
din baza de date. Să analizăm mai detaliat acum
sintaxa acesteia. Iată-o:
query = "SELECT * FROM tabela WHERE condiție"
După numele tabelei se mai poate adăuga
comanda WHERE, în care se specifică
condiția pentru înregistrările selectate. În aceasta sunt permise
următoarele operații de comparație: =,
!=, <>, <, >,
<=, >=.
Să le analizăm aplicarea cu exemple.
Exemplu
Să selectăm utilizatorul cu id egal cu 2:
query = "SELECT * FROM users WHERE id=2"
Rezultatul codului executat:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Exemplu
Să selectăm utilizatorii cu id mai mare decât 2:
query = "SELECT * FROM users WHERE id>2"
Rezultatul codului executat:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Exemplu
Să selectăm utilizatorii cu id mai mare sau
egal cu 2:
query = "SELECT * FROM users WHERE id>=2"
Rezultatul codului executat:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Exemplu
Să selectăm utilizatorii cu id, nu egal cu
2:
query = "SELECT * FROM users WHERE id!=2"
Rezultatul codului executat:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Exemplu
În loc de comanda != se poate scrie
comanda <>:
query = "SELECT * FROM users WHERE id<>2"
Exemplu
Să selectăm utilizatorul cu numele 'user1'.
Aici ne așteaptă o nuanță importantă: deoarece
numele este un șir de caractere, acesta trebuie
să fie pus între ghilimele:
query = "SELECT * FROM users WHERE name='user1'"
Rezultatul codului executat:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Exemplu
Dacă comanda WHERE lipsește, atunci
vor fi selectate toate înregistrările din tabel. Să
selectăm toți angajații:
query = "SELECT * FROM users"
Rezultatul codului executat:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Sarcini practice
Selectați utilizatorul cu id egal cu 3.
Selectați utilizatorii cu salariul 900.
Selectați utilizatorii cu vârsta de 23 de ani.
Selectați utilizatorii cu salariul mai mare de 400.
Selectați utilizatorii cu salariul egal sau
mai mare de 500.
Selectați utilizatorii cu salariul NU egal cu
500.
Selectați utilizatorii cu salariul egal sau
mai mic de 500.