Адпраўка запытаў да базы даных у 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.