Python MySQL - Bảng thả
Bạn có thể xóa toàn bộ bảng bằng cách sử dụng DROP TABLEtuyên bố. Bạn chỉ cần xác định tên bảng mà bạn cần xóa.
Cú pháp
Sau đây là cú pháp của câu lệnh DROP TABLE trong MySQL:
DROP TABLE table_name;
Thí dụ
Trước khi xóa một bảng, hãy lấy danh sách các bảng bằng câu lệnh SHOW TABLES như sau:
mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb |
+-----------------+
| contact |
| cricketers_data |
| employee |
| sample |
| tutorials |
+-----------------+
5 rows in set (0.00 sec)
Câu lệnh sau loại bỏ hoàn toàn bảng có tên mẫu khỏi cơ sở dữ liệu:
mysql> DROP TABLE sample;
Query OK, 0 rows affected (0.29 sec)
Vì chúng tôi đã xóa mẫu có tên bảng khỏi MySQL, nếu bạn lấy lại danh sách các bảng, bạn sẽ không tìm thấy mẫu tên bảng trong đó.
mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb |
+-----------------+
| contact |
| cricketers_data |
| employee |
| tutorials |
+-----------------+
4 rows in set (0.00 sec)
Xóa bảng bằng Python
Bạn có thể xóa một bảng bất cứ khi nào bạn cần, bằng cách sử dụng câu lệnh DROP của MYSQL, nhưng bạn cần phải rất cẩn thận khi xóa bất kỳ bảng nào hiện có vì dữ liệu bị mất sẽ không được phục hồi sau khi xóa bảng.
Để thả một bảng từ cơ sở dữ liệu MYSQL bằng cách sử dụng python, hãy gọi execute() trên đối tượng con trỏ và chuyển câu lệnh drop làm tham số cho nó.
Thí dụ
Bảng sau đây loại bỏ một bảng có tên EMPLOYEE từ cơ sở dữ liệu.
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()
Đầu ra
List of tables in the database:
[('employee',), ('employeedata',), ('sample',), ('tutorials',)]
Table dropped...
List of tables after dropping the EMPLOYEE table:
[('employeedata',), ('sample',), ('tutorials',)]
Chỉ thả bảng nếu tồn tại
Nếu bạn cố gắng bỏ một bảng không tồn tại trong cơ sở dữ liệu, một lỗi sẽ xảy ra như sau:
mysql.connector.errors.ProgrammingError: 1051 (42S02): Unknown table 'mydb.employee'
Bạn có thể ngăn lỗi này bằng cách xác minh xem bảng có tồn tại hay không trước khi xóa, bằng cách thêm IF EXISTS vào câu lệnh 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',)]