Python MySQL - Crear tabla

La declaración CREATE TABLE se utiliza para crear tablas en la base de datos MYSQL. Aquí, debe especificar el nombre de la tabla y la definición (nombre y tipo de datos) de cada columna.

Sintaxis

A continuación se muestra la sintaxis para crear una tabla en MySQL:

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

Ejemplo

La siguiente consulta crea una tabla llamada EMPLEADO en MySQL con cinco columnas, a saber, PRIMER NOMBRE, ÚLTIMO NOMBRE, EDAD, SEXO e INGRESOS.

mysql> CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT);
Query OK, 0 rows affected (0.42 sec)

La declaración DESC le da la descripción de la tabla especificada. Con esto, puede verificar si la tabla se ha creado o no como se muestra a continuación:

mysql> Desc Employee;
+------------+----------+------+-----+---------+-------+
| Field      | Type     | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| FIRST_NAME | char(20) | NO   |     | NULL    |       |
| LAST_NAME  | char(20) | YES  |     | NULL    |       |
| AGE        | int(11)  | YES  |     | NULL    |       |
| SEX        | char(1)  | YES  |     | NULL    |       |  
| INCOME     | float    | YES  |     | NULL    |       |
+------------+----------+------+-----+---------+-------+
5 rows in set (0.07 sec)

Creando una tabla en MySQL usando Python

El método llamado execute () (invocado en el objeto cursor) acepta dos variables

  • Un valor de cadena que representa la consulta que se ejecutará.

  • Un parámetro opcional de args que puede ser una tupla o una lista o un diccionario, que representa los parámetros de la consulta (valores de los marcadores de posición).

Devuelve un valor entero que representa el número de filas efectuadas por la consulta.

Una vez que se establece una conexión a la base de datos, puede crear tablas pasando la consulta CREATE TABLE al execute() método.

En resumen, para crear una tabla usando python -

  • Importar mysql.connector paquete.

  • Cree un objeto de conexión utilizando el mysql.connector.connect() método, pasando el nombre de usuario, contraseña, host (predeterminado opcional: localhost) y base de datos (opcional) como parámetros.

  • Cree un objeto de cursor invocando el cursor() método en el objeto de conexión creado anteriormente.

  • Luego, ejecute la instrucción CREATE TABLE pasándola como parámetro alexecute() método.

Ejemplo

El siguiente ejemplo crea una tabla llamada Employee en la base de datos mydb.

import mysql.connector

#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb'
)

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Dropping EMPLOYEE table if already exists.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

#Creating table as per requirement
sql ='''CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
)'''
cursor.execute(sql)

#Closing the connection
conn.close()