Python MySQL - Drop Table
Możesz usunąć całą tabelę za pomocą DROP TABLEkomunikat. Musisz tylko podać nazwę tabeli, którą chcesz usunąć.
Składnia
Poniżej znajduje się składnia instrukcji DROP TABLE w MySQL -
DROP TABLE table_name;
Przykład
Przed usunięciem tabeli pobierz listę tabel za pomocą instrukcji SHOW TABLES w następujący sposób -
mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb |
+-----------------+
| contact |
| cricketers_data |
| employee |
| sample |
| tutorials |
+-----------------+
5 rows in set (0.00 sec)
Poniższa instrukcja całkowicie usuwa tabelę o nazwie sample z bazy danych -
mysql> DROP TABLE sample;
Query OK, 0 rows affected (0.29 sec)
Ponieważ usunęliśmy tabelę o nazwie sample z MySQL, jeśli ponownie otrzymasz listę tabel, nie znajdziesz w niej nazwy tabeli sample.
mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb |
+-----------------+
| contact |
| cricketers_data |
| employee |
| tutorials |
+-----------------+
4 rows in set (0.00 sec)
Usuwanie tabeli za pomocą języka Python
Możesz usunąć tabelę w dowolnym momencie, używając instrukcji DROP MYSQL, ale musisz być bardzo ostrożny podczas usuwania istniejącej tabeli, ponieważ utracone dane nie zostaną odzyskane po usunięciu tabeli.
Aby usunąć tabelę z bazy danych MYSQL za pomocą języka Python, wywołaj plik execute() na obiekcie kursora i przekaż do niego instrukcję drop jako parametr.
Przykład
Poniższa tabela usuwa tabelę o nazwie EMPLOYEE z bazy danych.
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()
Wynik
List of tables in the database:
[('employee',), ('employeedata',), ('sample',), ('tutorials',)]
Table dropped...
List of tables after dropping the EMPLOYEE table:
[('employeedata',), ('sample',), ('tutorials',)]
Usuń tabelę tylko wtedy, gdy istnieje
Jeśli spróbujesz usunąć tabelę, której nie ma w bazie danych, pojawi się błąd, ponieważ -
mysql.connector.errors.ProgrammingError: 1051 (42S02):
Unknown table 'mydb.employee'
Możesz zapobiec temu błędowi, sprawdzając, czy tabela istnieje przed usunięciem, dodając IF EXISTS do instrukcji DELETE.
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()
Wynik
List of tables in the database:
[('employeedata',), ('sample',), ('tutorials',)]
Table dropped...
List of tables after dropping the EMPLOYEE table:
[('employeedata',), ('sample',),
('tutorials',)]