Pythonда база даннларига суровлар юбориш
База билан боғланишдан сўнг унга
суровлар юбориш мумкин. Бу query
ўзгарувчиси ёрдамида бажарилади, унда
users жадвалидан барча маълумотларни
чиқариш учун SQL сурови ёзилади. Бу
ўзгарувчи connection ўзгарувчиси
билан блок ичида ёзилиши керак:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Кейин connection ўзгарувчисида сақланган
MySQLConnection-объекти билан ишлаш учун
янги with конструкциясини ёзамиз.
Ушбу объектга maxсус методларни ketma-ket
қўллаш керак. Уларнинг биринчиси cursor
методи бўлиб, у MySQLConnection-объектидан
CMySQLCursor-объектини яратади. Сўнгra
унинг ўзига 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 жадвалидан барча маълумотларни чиқаринг.