Python MySQL - Créer une table

L'instruction CREATE TABLE est utilisée pour créer des tables dans la base de données MYSQL. Ici, vous devez spécifier le nom de la table et la définition (nom et type de données) de chaque colonne.

Syntaxe

Voici la syntaxe pour créer une table dans MySQL -

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

Exemple

La requête suivante crée une table nommée EMPLOYEE dans MySQL avec cinq colonnes à savoir, FIRST_NAME, LAST_NAME, AGE, SEX et, INCOME.

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)

L'instruction DESC vous donne la description de la table spécifiée. En utilisant cela, vous pouvez vérifier si la table a été créée ou non comme indiqué ci-dessous -

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)

Créer une table dans MySQL à l'aide de Python

La méthode nommée execute () (invoquée sur l'objet curseur) accepte deux variables -

  • Une valeur String représentant la requête à exécuter.

  • Un paramètre args facultatif qui peut être un tuple ou, une liste ou un dictionnaire, représentant les paramètres de la requête (valeurs des espaces réservés).

Il renvoie une valeur entière représentant le nombre de lignes affectées par la requête.

Une fois la connexion à la base de données établie, vous pouvez créer des tables en passant la requête CREATE TABLE au execute() méthode.

En bref, pour créer une table en utilisant python -

  • Importer mysql.connector paquet.

  • Créez un objet de connexion à l'aide de mysql.connector.connect() méthode, en lui passant le nom d'utilisateur, le mot de passe, l'hôte (par défaut facultatif: localhost) et la base de données (facultatif) en tant que paramètres.

  • Créez un objet curseur en invoquant le cursor() méthode sur l'objet de connexion créé ci-dessus.

  • Ensuite, exécutez l' instruction CREATE TABLE en la passant comme paramètre à laexecute() méthode.

Exemple

L'exemple suivant crée une table nommée Employee dans la base de données 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()