Henting av poster ved SQL-spørring til database i Python
I testkoden for SQL-spørringen er det en kommando
SELECT som henter data
fra databasen. La oss nå se nærmere på
syntaksen. Her er den:
query = "SELECT * FROM tabell WHERE betingelse"
Etter tabellnavnet kan du også skrive
kommandoen WHERE, der du spesifiserer
betingelsen for postene som skal velges. Følgende
sammenligningsoperasjoner er tillatt: =,
!=, <>, <, >,
<=, >=.
La oss se på deres anvendelse med eksempler.
Eksempel
La oss velge en bruker med id lik 2:
query = "SELECT * FROM users WHERE id=2"
Resultatet av utført kode:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Eksempel
La oss velge brukere med id større enn 2:
query = "SELECT * FROM users WHERE id>2"
Resultatet av utført kode:
{'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}
Eksempel
La oss velge brukere med id større enn eller
lik 2:
query = "SELECT * FROM users WHERE id>=2"
Resultatet av utført kode:
{'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}
Eksempel
La oss velge brukere med id ikke lik
2:
query = "SELECT * FROM users WHERE id!=2"
Resultatet av utført kode:
{'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}
Eksempel
I stedet for kommandoen != kan du skrive
kommandoen <>:
query = "SELECT * FROM users WHERE id<>2"
Eksempel
La oss velge en bruker med navnet 'user1'.
Her venter en viktig nyans: siden
navnet er en streng, må det
omsluttes med anførselstegn:
query = "SELECT * FROM users WHERE name='user1'"
Resultatet av utført kode:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Eksempel
Hvis kommandoen WHERE mangler,
vil alle poster i tabellen bli valgt. La oss
velge alle ansatte:
query = "SELECT * FROM users"
Resultatet av utført kode:
{'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}
Praktiske oppgaver
Velg brukeren med id lik 3.
Velg brukere med lønn 900.
Velg brukere i en alder av 23 år.
Velg brukere med lønn over 400.
Velg brukere med lønn lik eller
større enn 500.
Velg brukere med lønn IKKE lik
500.
Velg brukere med lønn lik eller
mindre enn 500.