Curso de python nivel medio

¿Qué es MySQL?

MySQL es un sistema de gestión de bases de datos relacional de código abierto muy popular. Es ampliamente utilizado en aplicaciones web para almacenar y manejar grandes volúmenes de datos.

¿Por qué usar MySQL con Python?

  • Escalabilidad: MySQL es ideal para manejar grandes cantidades de datos y múltiples usuarios.
  • Integración: Se integra bien con aplicaciones Python, especialmente en entornos web.

Conectarse a MySQL desde Python

Para conectarte a una base de datos MySQL desde Python, puedes usar el módulo mysql-connector-python. Si no lo tienes instalado, puedes instalarlo usando pip:

1pip install mysql-connector-python

Paso 1: Conectar a la base de datos

Primero, debes conectarte a la base de datos MySQL. Necesitarás conocer el host, nombre de usuario, contraseña y el nombre de la base de datos.

1import mysql.connector
2
3# Conectar a la base de datos MySQL
4conexion = mysql.connector.connect(
5    host="localhost",
6    user="tu_usuario",
7    password="tu_contraseña",
8    database="mi_base_de_datos"
9)
10
11# Crear un cursor para interactuar con la base de datos
12cursor = conexion.cursor()
13
14print("Conexión a la base de datos establecida.")
  • ¿Qué hace este código?:
    • Conecta a la base de datos MySQL utilizando las credenciales y el nombre de la base de datos.
    • Crea un cursor para ejecutar comandos SQL.
  • Resultado en pantalla:
    Conexión a la base de datos establecida.

Paso 2: Crear una tabla

Después de conectarte a la base de datos, puedes crear una tabla para almacenar datos.

1# Crear una tabla llamada "usuarios"
2cursor.execute("""
3CREATE TABLE IF NOT EXISTS usuarios (
4    id INT AUTO_INCREMENT PRIMARY KEY,
5    nombre VARCHAR(100),
6    edad INT,
7    email VARCHAR(100) UNIQUE
8)
9""")
10
11print("Tabla 'usuarios' creada.")
  • ¿Qué hace este código?:
    • Crea una tabla llamada usuarios con columnas para id, nombre, edad y email.
    • AUTO_INCREMENT en id hace que se incremente automáticamente.
  • Resultado en pantalla:
    Tabla 'usuarios' creada.

Paso 3: Insertar datos en la tabla

Ahora que la tabla está creada, puedes insertar datos en ella.

1# Insertar un nuevo usuario en la tabla
2cursor.execute("""
3INSERT INTO usuarios (nombre, edad, email) 
4VALUES (%s, %s, %s)
5""", ("Ana", 30, "ana@example.com"))
6
7# Confirmar la inserción de datos
8conexion.commit()
9
10print("Datos insertados en la tabla 'usuarios'.")
  • ¿Qué hace este código?:
    • Inserta un nuevo registro en la tabla usuarios.
    • commit() guarda los cambios en la base de datos.
  • Resultado en pantalla:
    Datos insertados en la tabla 'usuarios'.

Paso 4: Consultar datos

Puedes recuperar datos de la base de datos usando una consulta SQL.

1# Consultar todos los usuarios de la tabla
2cursor.execute("SELECT * FROM usuarios")
3usuarios = cursor.fetchall()
4
5# Mostrar los resultados
6print("Usuarios en la base de datos:")
7for usuario in usuarios:
8    print(usuario)
  • ¿Qué hace este código?:
    • Ejecuta una consulta SQL para seleccionar todos los registros de la tabla usuarios.
    • fetchall() obtiene todos los resultados de la consulta.
    • Muestra cada usuario en la base de datos.
  • Resultado en pantalla:
    Usuarios en la base de datos:
    (1, 'Ana', 30, 'ana@example.com')

Paso 5: Actualizar y eliminar datos

También puedes actualizar y eliminar registros en la base de datos.

Actualizar datos

1# Actualizar la edad de un usuario
2cursor.execute("""
3UPDATE usuarios 
4SET edad = 31 
5WHERE nombre = 'Ana'
6""")
7
8# Confirmar los cambios
9conexion.commit()
10
11print("Edad del usuario 'Ana' actualizada.")
  • Resultado en pantalla:
    Edad del usuario 'Ana' actualizada.

Eliminar datos

1# Eliminar un usuario de la tabla
2cursor.execute("DELETE FROM usuarios WHERE nombre = 'Ana'")
3
4# Confirmar los cambios
5conexion.commit()
6
7print("Usuario 'Ana' eliminado de la base de datos.")
  • Resultado en pantalla:
    Usuario 'Ana' eliminado de la base de datos.

Paso 6: Cerrar la conexión

Finalmente, siempre debes cerrar la conexión con la base de datos cuando termines de trabajar con ella.

1# Cerrar la conexión
2conexion.close()
3
4print("Conexión a la base de datos cerrada.")
  • Resultado en pantalla:
    Conexión a la base de datos cerrada.

Conclusión

MySQL es una herramienta poderosa y escalable para manejar bases de datos, y Python facilita la conexión y manipulación de datos en MySQL usando mysql-connector-python. Con estos ejemplos, puedes crear tablas, insertar, consultar, actualizar y eliminar datos en tu base de datos MySQL desde Python. ¡Practica estos pasos para dominar el uso de bases de datos en tus proyectos Python!

  • Loading...