Envío de consultas a la base de datos en Python
Después de conectarse a la base de datos, se pueden
enviar consultas a la misma. Esto se hace usando
la variable query, en la cual
se escribe la consulta SQL para mostrar todos
los datos de la tabla users. Esta
variable debe escribirse en el bloque con
la variable connection:
try:
with connect(
host='localhost',
user='root',
password='',
database='test',
) as connection:
query = "SELECT * FROM users"
except Error as e:
print(e)
A continuación, escribimos otra construcción with
para trabajar con el objeto MySQLConnection,
almacenado en la variable connection.
A este objeto se deben aplicar secuencialmente
métodos especiales. El primero de
ellos es el método cursor, que
a partir del objeto MySQLConnection crea un
objeto CMySQLCursor. A este, a su vez,
se le aplica el método execute, que
proporciona la ejecución de la consulta SQL,
pasada como parámetro:
try:
with connect(
...
) as connection:
query = "SELECT * FROM users"
with connection.cursor() as cursor:
cursor.execute(query)
A continuación, es necesario extraer todos los datos usando
el método fetchall y guardarlos en
la variable result. Y para mostrar
los datos obtenidos, hay que pasarlos
por un bucle 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)
El código completo se verá así:
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)
Después de ejecutar el código, en la consola se mostrarán todas las entradas en forma de tuplas:
(1, 'user1', 23, 400)
(2, 'user2', 25, 500)
(3, 'user3', 23, 500)
(4, 'user4', 30, 900)
(5, 'user5', 27, 500)
(6, 'user6', 28, 900)
Muestre todos los datos de la tabla users.