Python MySQL - выпадающая таблица

Вы можете удалить всю таблицу, используя DROP TABLEзаявление. Вам просто нужно указать имя таблицы, которую нужно удалить.

Синтаксис

Ниже приведен синтаксис оператора DROP TABLE в MySQL:

DROP TABLE table_name;

пример

Перед удалением таблицы получите список таблиц с помощью оператора SHOW TABLES следующим образом:

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

Следующий оператор полностью удаляет таблицу с именем sample из базы данных:

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

Поскольку мы удалили таблицу с именем sample из MySQL, если вы снова получите список таблиц, вы не найдете в нем образец имени таблицы.

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

Удаление таблицы с помощью Python

Вы можете удалить таблицу, когда вам нужно, используя оператор DROP MYSQL, но вам нужно быть очень осторожным при удалении любой существующей таблицы, потому что потерянные данные не будут восстановлены после удаления таблицы.

Чтобы удалить таблицу из базы данных MYSQL с помощью python, вызовите execute() для объекта курсора и передайте ему оператор drop в качестве параметра.

пример

Следующая таблица удаляет из базы данных таблицу с именем EMPLOYEE.

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

Вывод

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

Удалить таблицу, только если существует

Если вы попытаетесь удалить таблицу, которой нет в базе данных, возникает ошибка:

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

Вы можете предотвратить эту ошибку, проверив, существует ли таблица перед удалением, добавив IF EXISTS в оператор 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',)]