Udsendelse af forespørgsler til databasen i Python
Efter at have oprettet forbindelse til databasen kan du
sende forespørgsler til den. Dette gøres ved hjælp af
variablen query, hvor
SQL-forespørgslen for at udskrive alle
data fra tabellen users skrives. Denne
variable skal skrives i blokken med
variablen connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Derefter skriver vi en anden with-konstruktion
for at arbejde med MySQLConnection-objektet,
gemt i variablen connection.
Til dette objekt skal der anvendes specielle
metoder sekventielt. Den første af dem
er metoden cursor, som
opretter et CMySQLCursor-objekt fra MySQLConnection-objektet.
Til dette anvendes til gengæld
metoden execute, som
sikrer udførelsen af SQL-forespørgslen,
som er sendt til den som parameter:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Derefter skal alle data hentes ved hjælp af
metoden fetchall og gemmes i
variablen result. Og for at udskrive
de modtagne data, skal de sendes
gennem en for-løkke:
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)
Den fulde kode vil se sådan ud:
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)
Efter udførelse af koden vil alle poster blive vist i konsollen som tupler:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Udskriv alle data fra tabellen users.