SELECT FROM con Python en MySQL

La sentencia «SELECT FROM» se utiliza en SQL para recuperar datos de una tabla en una base de datos. En Python, puedes utilizar la biblioteca mysql.connector para conectarte a una base de datos MySQL y realizar una consulta «SELECT FROM«.


Ejemplo SELECT FROM en Python MYSQL

Seleccione todos los registros de la tabla «clientes» y muestre el resultado:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="tu usuario",
  passwd="tu contraseña",
  database="tu bbdd"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM clientes")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

Aquí hay una explicación paso a paso del código:

  • Importamos la biblioteca mysql.connector, que nos permitirá conectarnos y trabajar con la base de datos MySQL.
  • Establecemos la conexión con la base de datos usando el método mysql.connector.connect(). Dentro del método, proporcionamos los detalles de la conexión, como el nombre de usuario, contraseña, host y nombre de la base de datos.
  • Creamos un objeto cursor llamado mycursor, que nos permitirá ejecutar comandos SQL en la base de datos.
  • Ejecutamos la consulta «SELECT * FROM clientes» utilizando el método execute() del objeto cursor. Esta consulta selecciona todos los datos de la tabla «clientes».
  • Recuperamos los resultados de la consulta utilizando el método fetchall() del objeto cursor. El resultado se almacena en la variable myresult, que será una lista de tuplas, donde cada tupla representa una fila de la tabla.
  • Recorremos los resultados utilizando un bucle for e imprimimos cada fila utilizando print(x). Cada fila se imprimirá como una tupla, donde cada elemento de la tupla corresponde a una columna de la tabla.

Selección de columnas usando SELECT FROM en Python

Para seleccionar solo algunas de las columnas de una tabla, use la declaración «SELECT» seguida de los nombres de las columnas:

Ejemplo

Seleccione solo las columnas de nombre y dirección:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="tu usuario",
  passwd="tu contraseña",
  database="tu bbdd"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT nombre, address FROM clientes")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

Usando el Método fetchone() para recuperar una sola fila

Si solo está interesado en una fila, puede usar el método fetchone(). El método fetchone() devolverá la primera fila del resultado.

Ejemplo

Obtener solo una fila:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="tu usuario",
  passwd="tu contraseña",
  database="tu bbdd"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM clientes")

myresult = mycursor.fetchone()

print(myresult)