Invio di richieste al database in Python
Dopo aver stabilito la connessione con il database, è possibile
inviarle richieste. Questo viene fatto utilizzando la
variabile query, in cui
viene scritta la query SQL per selezionare tutti i
dati dalla tabella users. Questa
variabile deve essere scritta nel blocco con la
variabile connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
Successivamente, scriviamo un'altra costruzione with
per lavorare con l'oggetto MySQLConnection,
memorizzato nella variabile connection.
A questo oggetto devono essere applicati sequenzialmente
dei metodi speciali. Il primo di questi
è il metodo cursor, che
dall'oggetto MySQLConnection crea un
oggetto CMySQLCursor. A sua volta, ad esso
viene applicato il metodo execute, che
esegue la query SQL
passatagli come parametro:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
Successivamente è necessario estrarre tutti i dati utilizzando
il metodo fetchall e memorizzarli in una
variabile result. E per visualizzare
i dati ottenuti, è necessario passarli
attraverso un ciclo 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)
Il codice completo sarà simile a questo:
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)
Dopo l'esecuzione del codice, tutti i record verranno visualizzati in console come 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)
Seleziona tutti i dati dalla tabella users.