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)

คำสั่งต่อไปนี้จะลบตารางชื่อตัวอย่างออกจากฐานข้อมูลทั้งหมด -

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

เนื่องจากเราได้ลบตารางที่ชื่อตัวอย่างออกจาก 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',)]