Å sende spørringer til databasen i Python
Etter å ha opprettet tilkobling til databasen, kan du
sende spørringer til den. Dette gjøres ved hjelp av
variabelen query, der
SQL-spørringen for å hente alle
data fra tabellen users skrives. Denne
variabelen bør skrives i blokken med
variabelen connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Deretter skriver vi en with-konstruksjon til
for å jobbe med MySQLConnection-objektet,
som er lagret i variabelen connection.
Til dette objektet må vi bruke spesielle
metoder sekvensielt. Den første av
dem er metoden cursor, som
lar MySQLConnection-objektet lage et
CMySQLCursor-objekt. På dette objektet brukes
metoden execute, som
sikrer utførelsen av SQL-spørringen
som sendes til den som en parameter:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Deretter må du hente alle dataene ved hjelp av
metoden fetchall og lagre dem i
variabelen result. Og for å vise
de innhentede dataene, må du sende dem
gjennom 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 fullstendige koden vil se slik ut:
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)
Etter at koden er kjørt, vil alle postene bli skrevet ut 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)
Skriv ut alle data fra tabellen users.