Извличане на записи при SQL заявка към база данни в Python
В тестовия код на SQL заявката има команда
SELECT, която извлича данни
от базата данни. Нека сега се запознаем по-подробно
с нейния синтаксис. Ето го:
query = "SELECT * FROM таблица WHERE условие"
След името на таблицата може допълнително да се напише
команда WHERE, в която се задава
условие за избираните записи. В него са допустими
следните операции за сравнение: =,
!=, <>, <, >,
<=, >=.
Нека разгледаме тяхното приложение с примери.
Пример
Нека изберем потребител с id, равен на 2:
query = "SELECT * FROM users WHERE id=2"
Резултат от изпълнения код:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Пример
Нека изберем потребители с id, по-голям от 2:
query = "SELECT * FROM users WHERE id>2"
Резултат от изпълнения код:
{'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}
Пример
Нека изберем потребители с id, по-голям или
равен на 2:
query = "SELECT * FROM users WHERE id>=2"
Резултат от изпълнения код:
{'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}
Пример
Нека изберем потребители с id, различен от
2:
query = "SELECT * FROM users WHERE id!=2"
Резултат от изпълнения код:
{'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}
Пример
Вместо команда != може да се пише
команда <>:
query = "SELECT * FROM users WHERE id<>2"
Пример
Нека изберем потребител с име 'user1'.
Тук ни очаква важен нюанс: тъй като
името е низ, то трябва да бъде
поставено в кавички:
query = "SELECT * FROM users WHERE name='user1'"
Резултат от изпълнения код:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Пример
Ако команда WHERE отсъства, то
ще бъдат избрани всички записи от таблицата. Нека
изберем всички работници:
query = "SELECT * FROM users"
Резултат от изпълнения код:
{'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}
Практически задачи
Изберете потребител с id, равен на 3.
Изберете потребители със заплата 900.
Изберете потребители на възраст 23 години.
Изберете потребители със заплата над 400.
Изберете потребители със заплата равна или
по-голяма от 500.
Изберете потребители със заплата НЕ равна
на 500.
Изберете потребители със заплата равна или
по-малка от 500.