Отправка запросов к базе данных в Python
После соединения с базой к ней можно отправлять
запросы. Это делается с помощью
переменной query
, в которой прописывается
SQL запрос для вывода всех данных из таблицы
users
. Эту переменную следует прописать
в блоке с переменной connection
:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Далее прописываем еще одну конструкцию with
для работы с MySQLConnection-объектом,
хранящимся в переменной connection
.
К данному объекту нужно
последовательно применить специальные методы.
Первым из них является метод
cursor
, который из MySQLConnection-объекта
создает CMySQLCursor-объект. К
нему свою очередь применяется метод
execute
, который обеспечивает выполнение
SQL запроса, переданного ему
в параметр:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Далее нужно извлечь все данные
с помощью метода fetchall
и
записать их в переменную
result
. А чтобы вывести полученные данные,
нужно пропустить их через цикл for
:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
result = cursor.fetchall()
for row in result:
print(row)
Полный код будет выглядеть вот так:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
print(cursor)
cursor.execute(query)
result = cursor.fetchall()
for row in result:
print(row)
except Error as e:
print(e)
После выполнения кода в консоль выведутся все записи в виде кортежей:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Выведите все данные из таблицы
users
.