Menghantar Pertanyaan ke Pangkalan Data dalam Python
Selepas bersambung dengan pangkalan data, anda boleh
menghantar pertanyaan kepadanya. Ini dilakukan dengan menggunakan
pembolehubah query, di mana
pertanyaan SQL untuk memaparkan semua
data dari jadual users ditulis. Pembolehubah
ini hendaklah ditulis dalam blok dengan
pembolehubah connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Seterusnya, kita menulis satu lagi konstruk with
untuk bekerja dengan objek MySQLConnection,
yang disimpan dalam pembolehubah connection.
Kepada objek ini, kaedah khas perlu digunakan
secara berurutan. Yang pertama ialah
kaedah cursor, yang
mewujudkan objek CMySQLCursor dari objek MySQLConnection.
Kepadanya pula, kaedah execute digunakan,
yang melaksanakan pertanyaan SQL
yang diserahkan kepadanya sebagai parameter:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Seterusnya, semua data perlu diekstrak menggunakan
kaedah fetchall dan direkodkan ke dalam
pembolehubah result. Dan untuk memaparkan
data yang diperoleh, mereka perlu dilalui
melalui gelung 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)
Kod penuh akan kelihatan seperti ini:
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)
Selepas kod dilaksanakan, semua rekod akan dipaparkan dalam konsol dalam bentuk tuple:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Paparkan semua data dari jadual users.