Python y MySQL: Guía práctica de conectividad, creación y operaciones CRUD
Python y MySQL: Guía práctica de conectividad, creación y operaciones CRUD
En el mundo actual impulsado por datos, los desarrolladores de Python a menudo necesitan interactuar con bases de datos relacionales. MySQL, un RDBMS de código abierto, sigue siendo una opción popular por su robustez, soporte comunitario y facilidad de uso. Esta guía te lleva paso a paso —desde la instalación de MySQL y su conector Python hasta la creación de bases de datos, tablas y realización de operaciones CRUD básicas— enfatizando mejores prácticas y código limpio.
¿Qué es MySQL?
MySQL es un sistema de gestión de bases de datos relacional (RDBMS) de código abierto líder. Co-fundado por Michael Widenius, cuya hija inspiró el nombre, MySQL se construyó en 1995. Su interfaz basada en SQL, fuerte rendimiento y soporte multiplataforma lo convierten en una opción preferida para aplicaciones web, análisis de datos y más.
Instalación de MySQL en Linux/Unix
Descarga el paquete RPM oficial desde Descargas de MySQL. Abre una terminal y ejecuta:
rpm -i
Por ejemplo:
rpm -i MySQL-5.0.9.0.i386.rpm
Verifica la instalación:
mysql --version
Instalación de MySQL en Windows
Descarga el instalador de Windows desde el mismo sitio web de MySQL y sigue el asistente. Para una guía visual paso a paso, consulta este tutorial oficial.
Instalación del conector MySQL para Python
Usa pip para instalar la librería del conector. El comando varía ligeramente entre Python 2 y 3:
pip install mysql-connector
pip3 install mysql-connector
Prueba de conexión a MySQL
Una vez instalado el conector, prueba la conectividad creando un objeto de conexión simple. Reemplaza hostname, username y password con tus credenciales.
import mysql.connector
conn = mysql.connector.connect(
host="hostname",
user="username",
passwd="password"
)
print(conn)
La salida exitosa se parecerá a:
<mysql.connector.connection.MySQLConnection object at 0x000002338A4C6B00>
Creación de base de datos mediante Python
Ejecuta una sentencia CREATE DATABASE a través de un objeto cursor:
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
passwd="root"
)
cursor = conn.cursor()
cursor.execute("CREATE DATABASE mi_primera_db")
cursor.execute("SHOW DATABASES")
for db in cursor:
print(db)
Salida:
("mi_primera_db",)
Creación de tablas
Tabla simple
Crea una tabla estudiante con dos columnas:
cursor.execute("CREATE TABLE estudiante (id INT, nombre VARCHAR(255))")
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
Salida:
("estudiante",)
Tabla con clave primaria
Define una tabla empleado que incluya una clave primaria auto-incremental:
cursor.execute("CREATE TABLE empleado (id INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(255), salario INT(6))")
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
Salida:
("empleado",) ("estudiante",)
Modificación de una tabla
Modifica una columna existente para convertirla en clave primaria:
cursor.execute("ALTER TABLE estudiante MODIFY id INT PRIMARY KEY")
La verificación puede hacerse describiendo la tabla o inspeccionando el esquema manualmente.
Inserción de datos
Inserta filas en ambas tablas:
sql_estudiante = "INSERT INTO estudiante(id, nombre) VALUES (1, 'Juan')" sql_empleado = "INSERT INTO empleado(id, nombre, salario) VALUES (1, 'Juan', 10000)" cursor.execute(sql_estudiante) cursor.execute(sql_empleado) conn.commit() print(cursor.rowcount, "Registro insertado")
Salida:
2 Registro insertado
Próximos pasos
Desde aquí puedes explorar actualizaciones, eliminaciones y consultas más avanzadas. Recuerda siempre cerrar tu conexión cuando termines:
conn.close()
¡Feliz codificación!
python
- Función print() en Python: Guía Práctica con Ejemplos
- Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
- Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
- Domine el Formateo de Strings en Python con format(): Ejemplos Claros
- Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
- Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
- Función round() en Python explicada con ejemplos prácticos
- Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
- Python timeit(): medición de tiempo de ejecución con ejemplos prácticos
- Counter de collections en Python: conteo eficiente, actualización y operaciones aritméticas
- Entendiendo type() e isinstance() en Python: ejemplos prácticos