Python-da maglumatlar bazasyna sorag ibermek
Maglumatlar bazasy bilen birikdän soň, ona soraglar iberip bolýar. Bu, tablisanyň users tablisasyndaky ähli maglumatlary çykarmak üçin SQL soragyny görkezýän query üýtgeýjisi arkaly amala aşyrylýar. Bu üýtgeýji connection üýtgeýjisi bilen boljak blokda görkezilmeli:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Indiki ädimde, connection üýtgeýjisinde saklanýan MySQLConnection-obyekty bilen işlemek üçin ýene bir with gurluşy görkezilýär. Bu obýekte yzygiderli ýörite usullary ulandyrmaly. Olaryň birinjisi, MySQLConnection-obyektinden CMySQLCursor-obyektini döredýän cursor usulydyr. Ona bolsa, parametr hökmünde berlen SQL soragyny ýerine ýetirmegi üpjün edýän execute usuly ulanylýar:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Indiki ädimde, fetchall usuly arkaly ähli maglumatlary çykarmaly we olary result üýtgeýjisine ýazmaly. Alynan maglumatlary çykarmak üçin, olary for aýlawyndan geçirmeli:
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)
Doly kody şeýle görünýär:
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)
Kod ýerine ýetirilenden soň, konsolda ähli ýazgylar kortež görnüşinde çykarylýar:
(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 tablisasyndan ähli maglumatlary çykaryň.