fetchall() en Python

Rana Hasnain Khan 10 octubre 2023
fetchall() en Python

Demostraremos el método de clase cursor de Python fetchall() y cómo usarlo en aplicaciones para recuperar datos de bases de datos en Python.

Utilice fetchall() para recuperar datos de bases de datos en Python

La mayor parte del tiempo, trabajamos con la base de datos en nuestras aplicaciones. La base de datos es la parte más importante de nuestra aplicación que almacena datos.

Python usa el cursor para recuperar datos de la base de datos. El fetchall() es uno de los métodos de cursor de Python que se utiliza para recuperar todas las filas de una determinada consulta.

Cuando queremos mostrar todos los datos de una determinada tabla, podemos usar el método fetchall() para obtener todas las filas. Este método devuelve una lista de tuplas.

Si la consulta no tiene filas, devolverá una lista vacía. Veamos un ejemplo, creemos una tabla de ejemplo e intentemos obtener datos usando los métodos de cursor de Python.

Para este ejemplo, usaremos la base de datos MySQL, por lo que debemos instalar el módulo mysql-connector-python. Pero si quieres trabajar con otras bases de datos como PostgreSQL, necesitas usar Psycopg2, o si estás trabajando en SQLite, necesitas usar sqlite3.

Entonces instalaremos mysql-connector-python ejecutando el siguiente comando.

pip install mysql-connector-python

Vamos a crear una nueva base de datos de ejemplo y una tabla dentro de MySQL.

fetchall en el nombre de la base de datos de python

La estructura de nuestra tabla será como se muestra a continuación.

fetchall en la captura de pantalla de la base de datos de python

fetchall en la estructura de la tabla de python

Ahora, agreguemos algunos datos de demostración dentro de él, como se muestra a continuación.

fetchall en los datos de la tabla de python

Importaremos mysql-connector-python y crearemos una conexión de base de datos dentro de una función en Python, como se muestra a continuación.

# python
import mysql.connector


def getRecords():
    try:
        mydb = mysql.connector.connect(
            host="localhost",
            user="yourusername",
            password="yourpassword"
        )
        mycursor = mydb.cursor()
        print("Connected to MySQL")

Crearemos una consulta select para obtener los datos de nuestra tabla.

# python
query = "SELECT * FROM test"
mydb.commit()
records = mycursor.fetchall()
print("Total rows are:  ", len(records))
print("Printing each row")
for row in records:
    print("ID: ", row[0])
    print("Name: ", row[1])
    print("Email: ", row[2])
    print("Country: ", row[3])
    print("\n")
mycursor.close()

Y al final, llamaremos a nuestra función.

# python
getRecords()

Producción:

resultado de ejemplo de fetchall en python

El resultado anterior muestra que usar el método fetchall() puede obtener fácilmente todas las filas de la consulta.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Artículo relacionado - Python MySQL