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 конструкциясын
жазабыз. Бул объектиге ырааттуу түрдө атайын
методдор колдонулушу керек. Алардын биринчиси
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 таблицасындагы бардык маалыматты чыгарыңыз.