Pobieranie rekordów przy zapytaniu SQL do bazy danych w Pythonie

W kodzie testowym zapytania SQL znajduje się polecenie SELECT, które pobiera dane z bazy danych. Przyjrzyjmy się teraz bliżej jego składni. Oto ona:

pythonquery = "SELECT * FROM tabela WHERE warunek"

Po nazwie tabeli można jeszcze dopisać polecenie WHERE, w którym określa się warunek dotyczący wybieranych rekordów. Dopuszczalne są w nim następujące operacje porównania: =, !=, <>, <, >, <=, >=.

Przyjrzyjmy się ich zastosowaniu na przykładach.

Przykład

Wybierzmy użytkownika z id równym 2:

pythonquery = "SELECT * FROM users WHERE id=2"

Wynik wykonanego kodu:

python{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}

Przykład

Wybierzmy użytkowników z id większym niż 2:

pythonquery = "SELECT * FROM users WHERE id>2"

Wynik wykonanego kodu:

python{'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}

Przykład

Wybierzmy użytkowników z id większym lub równym 2:

pythonquery = "SELECT * FROM users WHERE id>=2"

Wynik wykonanego kodu:

python{'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}

Przykład

Wybierzmy użytkowników z id nie równym 2:

pythonquery = "SELECT * FROM users WHERE id!=2"

Wynik wykonanego kodu:

python{'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}

Przykład

Zamiast polecenia != można użyć polecenia <>:

pythonquery = "SELECT * FROM users WHERE id<>2"

Przykład

Wybierzmy użytkownika o nazwie 'user1'. Tutaj czeka na nas ważny niuans: ponieważ nazwa jest ciągiem znaków, należy ją ująć w cudzysłów:

pythonquery = "SELECT * FROM users WHERE name='user1'"

Wynik wykonanego kodu:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}

Przykład

Jeśli polecenie WHERE jest nieobecne, zostaną wybrane wszystkie rekordy z tabeli. Wybierzmy wszystkich pracowników:

pythonquery = "SELECT * FROM users"

Wynik wykonanego kodu:

python{'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}

Zadania praktyczne

Задание 1

Wybierz użytkownika z id równym 3.

Задание 2

Wybierz użytkowników z wynagrodzeniem 900.

Задание 3

Wybierz użytkowników w wieku 23 lat.

Задание 4

Wybierz użytkowników z wynagrodzeniem większym niż 400.

Задание 5

Wybierz użytkowników z wynagrodzeniem równym lub większym niż 500.

Задание 6

Wybierz użytkowników z wynagrodzeniem NIE równym 500.

Задание 7

Wybierz użytkowników z wynagrodzeniem równym lub mniejszym niż 500.