English 中文(简体)
Python Data Access Tutorial

Selected Reading

Python MySQL - Drop Table
  • 时间:2024-12-22

Python MySQL - Drop Table


Previous Page Next Page  

You can remove an entire table using the DROP TABLE statement. You just need to specify the name of the table you need to delete.

Syntax

Following is the syntax of the DROP TABLE statement in MySQL −


DROP TABLE table_name;

Example

Before deleting a table get the pst of tables using the SHOW TABLES statement as follows −


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

Following statement removes the table named sample from the database completely −


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

Since we have deleted the table named sample from MySQL, if you get the pst of tables again you will not find the table name sample in it.


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

Removing a table using python

You can drop a table whenever you need to, using the DROP statement of MYSQL, but you need to be very careful while deleting any existing table because the data lost will not be recovered after deleting a table.

To drop a table from a MYSQL database using python invoke the execute() method on the cursor object and pass the drop statement as a parameter to it.

Example

Following table drops a table named EMPLOYEE from the database.


import mysql.connector

#estabpshing 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 pst 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 pst 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:
[( employee ,), ( employeedata ,), ( sample ,), ( tutorials ,)]
Table dropped...
List of tables after dropping the EMPLOYEE table:
[( employeedata ,), ( sample ,), ( tutorials ,)]

Drop table only if exists

If you try to drop a table which does not exist in the database, an error occurs as −


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

You can prevent this error by verifying whether the table exists before deleting, by adding the IF EXISTS to the DELETE statement.


import mysql.connector

#estabpshing 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 pst 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 pst 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 ,)]
Advertisements