CREATE TABLE en Python con MySQL

Práctica en el editor: Los ejemplos de esta lección requieren un servidor MySQL o MongoDB real. En el editor del navegador puedes leer el código y practicar la sintaxis; para ejecutarlo de verdad, usa una instalación local o un contenedor Docker.

Para crear una tabla en MySQL utilizando Python, puedes usar el módulo mysql.connector y utilizar la sentencia CREATE TABLE .


Ejemplo CREATE TABLE MySQL en Python

Crea una tabla llamada "clientes" :

Ejemplo

    print(mycursor)
  

Aquí tienes una explicación detallada de cada parte del código:

  • Estableces la conexión a la base de datos MySQL utilizando mysql.connector.connect() y proporcionas los detalles de la conexión como el nombre de usuario, contraseña, host y nombre de la base de datos.
  • Creas un objeto cursor utilizando mydb.cursor() . El cursor se utiliza para ejecutar consultas y recibir los resultados.
  • Luego, utilizas el método execute() del cursor para ejecutar una consulta SQL que crea la tabla "clientes" con dos columnas: "nombre" y "direccion" . Ambas columnas son de tipo VARCHAR y tienen una longitud máxima de 255 caracteres. La consulta SQL para crear la tabla se proporciona como un argumento a la función execute() .
  • Una vez que se ha ejecutado la consulta para crear la tabla, la estructura de la tabla se crea en la base de datos.

Es importante tener en cuenta que este ejemplo crea una tabla simple con dos columnas "nombre" y "direccion" , pero puedes modificar la consulta SQL según tus necesidades para crear tablas con diferentes columnas y tipos de datos.

Recuerda que debes reemplazar "tu_usuario" , "tu_contraseña" y "tu_bbdd" con los valores correctos correspondientes a tu base de datos.

Si el código anterior se ejecutó sin errores, ahora ha creado una tabla con éxito.


Comprobar si la tabla existe con SHOW TABLES

Puede verificar si existe una tabla enumerando todas las tablas en su base de datos con la declaración " SHOW TABLES":

Ejemplo

    print("Ejemplo de la lección")
x = 2 + 3
print(x)
  

En este caso, se utiliza la consulta SQL SHOW TABLES para obtener una lista de todas las tablas existentes en la base de datos y luego se itera sobre el resultado para imprimir cada tabla.

Aquí tienes una explicación detallada del código:

  1. Estableces la conexión a la base de datos MySQL utilizando mysql.connector.connect() y proporcionas los detalles de la conexión como el nombre de usuario, contraseña, host y nombre de la base de datos.
  2. Creas un objeto cursor utilizando mydb.cursor() . El cursor se utiliza para ejecutar consultas y recibir los resultados.
  3. Luego, utilizas el método execute() del cursor para ejecutar la consulta SQL "SHOW TABLES" , que devuelve una lista de todas las tablas existentes en la base de datos.
  4. Después, se utiliza un bucle for para iterar sobre el resultado del cursor y cada elemento x en el resultado corresponderá a un nombre de tabla.
  5. Finalmente, se imprime el nombre de cada tabla utilizando print(x) .

El resultado será una lista de los nombres de todas las tablas existentes en la base de datos "tu_bbdd" .

Recuerda que debes reemplazar "tu_usuario" , "tu_contraseña" y "tu_bbdd" con los valores correctos correspondientes a tu base de datos.

Si deseas comprobar específicamente si una tabla en particular existe en la base de datos, puedes modificar el código para realizar una búsqueda dentro del bucle for , comparando el nombre de la tabla con el que deseas verificar.


Primary Key

Al crear una tabla, también debe crear una columna con una clave única para cada registro. Esto se puede hacer mediante la definición de una clave primaria. Usamos la declaración " INT AUTO_INCREMENT PRIMARY KEY" que insertará un número único para cada registro.

Comenzando en 1, y aumentado en uno para cada registro.

Ejemplo para crear una Primary Key en Python con MySQL

Crear clave primaria al crear la tabla:

Ejemplo

    print(mycursor)
  

Ejemplo para crear una tabla llamada "clientes" en una base de datos de MySQL utilizando Python y el módulo mysql.connector , con una columna "id" que será la clave primaria con auto-incremento. Aquí tienes una explicación detallada del código:

  1. Estableces la conexión a la base de datos MySQL utilizando mysql.connector.connect() y proporcionas los detalles de la conexión como el nombre de usuario, contraseña, host y nombre de la base de datos.
  2. Creas un objeto cursor utilizando mydb.cursor() . El cursor se utiliza para ejecutar consultas y recibir los resultados.
  3. Luego, utilizas el método execute() del cursor para ejecutar una consulta SQL que crea la tabla "clientes" con tres columnas: "id", "nombre" y "direccion". La columna "id" es de tipo INT y se define como clave primaria con auto-incremento utilizando la cláusula AUTO_INCREMENT PRIMARY KEY . Las columnas "nombre" y "direccion" son de tipo VARCHAR con una longitud máxima de 255 caracteres.

Con esta configuración, cada vez que se inserte un nuevo registro en la tabla "clientes" y no se proporcione un valor para la columna "id" , MySQL generará automáticamente un valor único para la clave primaria utilizando auto-incremento.

Es importante tener en cuenta que la columna con auto-incremento debe ser la clave primaria para que funcione correctamente. En este ejemplo, hemos definido la columna "id" como clave primaria y con auto-incremento.

Recuerda que debes reemplazar "tu_usuario" , "tu_contraseña" y "tu_bbdd" con los valores correctos correspondientes a tu base de datos.

Ejemplo crear con Python una primary Key en una tabla existente con ALTER TABLE

Si la tabla ya existe, use la palabra clave ALTER TABLE :

Crear clave principal en una tabla existente:

Ejemplo

    print(mycursor)
  

El código que proporcionas es un ejemplo válido para agregar una columna "id" con clave primaria y auto-incremento a una tabla existente llamada "clientes" en una base de datos de MySQL utilizando Python y el módulo mysql.connector . Aquí tienes una explicación detallada del código:

  • Estableces la conexión a la base de datos MySQL utilizando mysql.connector.connect() y proporcionas los detalles de la conexión como el nombre de usuario, contraseña, host y nombre de la base de datos.
  • Creas un objeto cursor utilizando mydb.cursor() . El cursor se utiliza para ejecutar consultas y recibir los resultados.
  • Luego, utilizas el método execute() del cursor para ejecutar una consulta SQL que utiliza la cláusula ALTER TABLE para modificar la estructura de la tabla "clientes" . Concretamente, estamos agregando una nueva columna llamada "id" de tipo INT con auto-incremento y la definimos como clave primaria utilizando AUTO_INCREMENT PRIMARY KEY .

Con esta configuración, la columna "id" actuará como la clave primaria con auto-incremento para la tabla "clientes" .

Es importante tener en cuenta que esta operación debe realizarse con precaución, ya que modificar la estructura de una tabla existente puede tener implicaciones en los datos existentes. Asegúrate de tener una copia de seguridad de los datos antes de realizar cambios en la tabla.

Practica CREATE TABLE en Python con MySQL en el editor

Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.

Ejercicio: Crea una tabla llamada

Crea una tabla llamada "clientes".

Ejemplo

    print(mycursor)
  
Abrir en editor

Ejercicio: Crear una tabla MySQL

Define una sentencia CREATE TABLE y muéstrala.

Ejemplo

    sql = """CREATE TABLE clientes (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nombre VARCHAR(255),
  ciudad VARCHAR(255)
)"""
print(sql)
  
Abrir en editor

Ejercicio: Bucle for

Si deseas comprobar específicamente si una tabla en particular existe en la base de datos, puedes modificar el código para realizar una búsqueda dentro del bucle for.

Ejemplo

    for fruta in ("pera", "mango", "fresa"):
    print(fruta)
  
Abrir en editor

Ejercicio: Usar print()

Si la tabla ya existe, use la palabra clave ALTER TABLE.

Ejemplo

    print("Práctica 312")
valores = [1, 2, 3]
print(sum(valores))
  
Abrir en editor

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.