Kirjete valimine SQL päringuga andmebaasile Pythonis
Testkoodi SQL päringus on käsk
SELECT, mis teeb andmete valimise
andmebaasist. Vaatame nüüd lähemalt selle
süntaksit. Siin see on:
query = "SELECT * FROM tabel WHERE tingimus"
Pärast tabeli nime saab kirjutada veel
käsu WHERE, kus määratakse
tingimus valitavate kirjete jaoks. Selles on lubatud
järgmised võrdlusoperatsioonid: =,
!=, <>, <, >,
<=, >=.
Vaatame nende kasutamist näidete varal.
Näide
Valime kasutaja, kelle id on võrdne 2-ga:
query = "SELECT * FROM users WHERE id=2"
Käivitatud koodi tulemus:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Näide
Valime kasutajad, kelle id on suurem kui 2:
query = "SELECT * FROM users WHERE id>2"
Käivitatud koodi tulemus:
{'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}
Näide
Valime kasutajad, kelle id on suurem või
võrdne 2-ga:
query = "SELECT * FROM users WHERE id>=2"
Käivitatud koodi tulemus:
{'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}
Näide
Valime kasutajad, kelle id ei ole võrdne
2-ga:
query = "SELECT * FROM users WHERE id!=2"
Käivitatud koodi tulemus:
{'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}
Näide
Käsu != asemel võib kirjutada
käsu <>:
query = "SELECT * FROM users WHERE id<>2"
Näide
Valime kasutaja nimega 'user1'.
Siin ootab meid oluline nüanss: kuna
nimi on string, tuleb see
võtta jutumärkidesse:
query = "SELECT * FROM users WHERE name='user1'"
Käivitatud koodi tulemus:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Näide
Kui käsku WHERE pole, siis
valitakse kõik kirjed tabelist. Valime
kõik töötajad:
query = "SELECT * FROM users"
Käivitatud koodi tulemus:
{'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}
Praktilised ülesanded
Valige kasutaja, kelle id on võrdne 3-ga.
Valige kasutajad, kelle palk on 900.
Valige kasutajad, kelle vanus on 23 aastat.
Valige kasutajad, kelle palk on üle 400.
Valige kasutajad, kelle palk on võrdne või
suurem kui 500.
Valige kasutajad, kelle palk ei ole võrdne
500-ga.
Valige kasutajad, kelle palk on võrdne või
väiksem kui 500.