Ierakstu atlase veicot SQL vaicājumu datubāzē Python
Testa koda SQL vaicājumā ir komanda
SELECT, kas veic datu atlasi
no datubāzes. Tagad sīkāk apskatīsimies
ar tās sintaksi. Lūk, tā:
query = "SELECT * FROM tabula WHERE nosacījums"
Pēc tabulas nosaukuma var papildus pierakstīt
komandu WHERE, kurā tiek norādīts
nosacījums atlasāmajiem ierakstiem. Tajā ir atļautas
šādas salīdzināšanas operācijas: =,
!=, <>, <, >,
<=, >=.
Apskatīsim to lietojumu ar piemēriem.
Piemērs
Atlasīsim lietotāju ar id, vienāds ar 2:
query = "SELECT * FROM users WHERE id=2"
Izpildītā koda rezultāts:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Piemērs
Atlasīsim lietotājus ar id, lielāku par 2:
query = "SELECT * FROM users WHERE id>2"
Izpildītā koda rezultāts:
{'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}
Piemērs
Atlasīsim lietotājus ar id, lielāku vai
vienādu ar 2:
query = "SELECT * FROM users WHERE id>=2"
Izpildītā koda rezultāts:
{'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}
Piemērs
Atlasīsim lietotājus ar id, nav vienāds
2:
query = "SELECT * FROM users WHERE id!=2"
Izpildītā koda rezultāts:
{'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}
Piemērs
Komandas != vietā var rakstīt
komandu <>:
query = "SELECT * FROM users WHERE id<>2"
Piemērs
Atlasīsim lietotāju ar vārdu 'user1'.
Šeit mūs sagaida svarīga nianse: tā kā
vārds ir virkne, tad tas ir jāieliek
pēdiņās:
query = "SELECT * FROM users WHERE name='user1'"
Izpildītā koda rezultāts:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Piemērs
Ja komanda WHERE nav, tad
tiks atlasīti visi ieraksti no tabulas. Atlasīsim
visus darbiniekus:
query = "SELECT * FROM users"
Izpildītā koda rezultāts:
{'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}
Praktiskie uzdevumi
Atlasiet lietotāju ar id, vienāds ar 3.
Atlasiet lietotājus ar algu 900.
Atlasiet lietotājus vecumā 23 gadi.
Atlasiet lietotājus ar algu virs 400.
Atlasiet lietotājus ar algu vienādu vai
lielāku par 500.
Atlasiet lietotājus ar algu NAV vienāda
500.
Atlasiet lietotājus ar algu vienādu vai
mazāku par 500.