Изпращане на заявки към базата данни в 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.