อาจมีสถานการณ์ที่คุณอาจกำลังลบตารางที่ไม่มีอยู่ในฐานข้อมูลของคุณจริงๆ เป็นไปได้ว่าในขณะที่ดำเนินการคำสั่งให้ลบตารางออกจากฐานข้อมูล เราอาจระบุชื่อตารางที่ไม่ถูกต้องซึ่งไม่มีอยู่ในฐานข้อมูลของเรา ความเป็นไปได้อีกอย่างหนึ่งคือคุณกำลังลบตารางซึ่งถูกลบไปแล้วโดยบุคคลอื่นที่สามารถเข้าถึงฐานข้อมูล ในสถานการณ์สมมตินี้ คุณจะได้รับข้อผิดพลาดขณะดำเนินการคำสั่งเนื่องจากไม่มีตารางที่คุณต้องการลบ
ข้อผิดพลาดนี้สามารถหลีกเลี่ยงได้โดยตรวจสอบว่ามีตารางอยู่หรือไม่ จากนั้นจึงลบทิ้ง หากไม่มีตาราง คำสั่งของคุณเพื่อลบตารางนั้นจะไม่ถูกดำเนินการโดยไม่มีข้อผิดพลาด
คำสั่ง IF EXISTS ใช้เพื่อตรวจสอบว่าตารางที่เราต้องการลบมีอยู่หรือไม่
ไวยากรณ์
DROP TABLE IF EXISTS table_name
คำสั่งด้านบนดำเนินการตารางดร็อปก็ต่อเมื่อมีตารางอยู่ มิฉะนั้น จะไม่ดำเนินการใดๆ และด้วยเหตุนี้ จะเป็นการป้องกันการเกิดข้อผิดพลาด
ขั้นตอนในการลบตารางหลังจากตรวจสอบว่ามีตารางอยู่ในฐานข้อมูลโดยใช้ MySQL ใน python หรือไม่
-
นำเข้าตัวเชื่อมต่อ MySQL
-
สร้างการเชื่อมต่อกับตัวเชื่อมต่อโดยใช้ connect()
-
สร้างวัตถุเคอร์เซอร์โดยใช้เมธอด cursor()
-
สร้างแบบสอบถามโดยใช้คำสั่ง mysql ที่เหมาะสม
-
เรียกใช้คำสั่ง SQL โดยใช้เมธอด execute()
-
ปิดการเชื่อมต่อ
ตัวอย่าง
สมมติว่าเราจำเป็นต้องลบตารางออกจากฐานข้อมูลของเรา แต่ก่อนนั้นเราต้องตรวจสอบว่ามีตารางอยู่หรือไม่
import mysql.connector db=mysql.connector.connect(host="your host", user="your username", password="your password",database="database_name") cursor=db.cursor() query="DROP TABLE IF EXISTS Employees " cursor.execute(query) print("TABLE DROPED..") db.close()
รหัสด้านบนจะลบตาราง ”พนักงาน” ออกจากฐานข้อมูลหากมีอยู่ มิฉะนั้น ถ้าไม่มีตาราง จะไม่มีข้อผิดพลาดใดๆ
ผลลัพธ์
TABLE DROPED..