Python MySQL - Drop Table

Vous pouvez supprimer une table entière en utilisant le DROP TABLEdéclaration. Il vous suffit de spécifier le nom de la table à supprimer.

Syntaxe

Voici la syntaxe de l'instruction DROP TABLE dans MySQL -

DROP TABLE table_name;

Exemple

Avant de supprimer une table, obtenez la liste des tables à l'aide de l'instruction SHOW TABLES comme suit -

mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb  |
+-----------------+
| contact         |
| cricketers_data |
| employee        |
| sample          |
| tutorials       |
+-----------------+
5 rows in set (0.00 sec)

L'instruction suivante supprime complètement la table nommée sample de la base de données -

mysql> DROP TABLE sample;
Query OK, 0 rows affected (0.29 sec)

Puisque nous avons supprimé la table nommée sample de MySQL, si vous obtenez à nouveau la liste des tables, vous n'y trouverez pas l'exemple de nom de table.

mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb  |
+-----------------+
| contact         |
| cricketers_data | 
| employee        |
| tutorials       |
+-----------------+
4 rows in set (0.00 sec)

Supprimer une table à l'aide de Python

Vous pouvez supprimer une table chaque fois que vous en avez besoin, en utilisant l'instruction DROP de MYSQL, mais vous devez être très prudent lorsque vous supprimez une table existante car les données perdues ne seront pas récupérées après la suppression d'une table.

Pour supprimer une table d'une base de données MYSQL à l'aide de python, appelez le execute() sur l'objet de curseur et passez l'instruction drop en tant que paramètre.

Exemple

La table suivante supprime une table nommée EMPLOYEE de la base de données.

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()

#Retrieving the list of tables print("List of tables in the database: ")   
   cursor.execute("SHOW Tables") print(cursor.fetchall())

#Doping EMPLOYEE table if already exists cursor.execute("DROP TABLE EMPLOYEE") 
   print("Table dropped... ")

#Retrieving the list of tables print(
   "List of tables after dropping the EMPLOYEE table: "
) 
cursor.execute("SHOW Tables") print(cursor.fetchall())

#Closing the connection 
conn.close()

Production

List of tables in the database:
[('employee',), ('employeedata',), ('sample',), ('tutorials',)]
Table dropped...
List of tables after dropping the EMPLOYEE table:
[('employeedata',), ('sample',), ('tutorials',)]

Supprimer la table uniquement si elle existe

Si vous essayez de supprimer une table qui n'existe pas dans la base de données, une erreur se produit comme -

mysql.connector.errors.ProgrammingError: 1051 (42S02): Unknown table 'mydb.employee'

Vous pouvez éviter cette erreur en vérifiant si la table existe avant la suppression, en ajoutant IF EXISTS à l'instruction DELETE.

Example

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()

#Retrieving the list of tables
print("List of tables in the database: ")
cursor.execute("SHOW Tables")
print(cursor.fetchall())

#Doping EMPLOYEE table if already exists
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
print("Table dropped... ")

#Retrieving the list of tables
print("List of tables after dropping the EMPLOYEE table: ")
cursor.execute("SHOW Tables")
print(cursor.fetchall())

#Closing the connection
conn.close()

Output

List of tables in the database:
[('employeedata',), ('sample',), ('tutorials',)]
Table dropped...
List of tables after dropping the EMPLOYEE table:
[('employeedata',), ('sample',),
('tutorials',)]