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',)]