Python MySQL - Tabloyu düşür
Kullanarak tüm tabloyu kaldırabilirsiniz. DROP TABLEBeyan. Silmeniz gereken tablonun adını belirtmeniz yeterlidir.
Sözdizimi
Aşağıda MySQL'deki DROP TABLE ifadesinin sözdizimi verilmiştir -
DROP TABLE table_name;
Misal
Bir tabloyu silmeden önce SHOW TABLES deyimini kullanarak aşağıdaki gibi tabloların listesini alın -
mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb |
+-----------------+
| contact |
| cricketers_data |
| employee |
| sample |
| tutorials |
+-----------------+
5 rows in set (0.00 sec)
Aşağıdaki ifade sample adındaki tabloyu veritabanından tamamen kaldırır -
mysql> DROP TABLE sample;
Query OK, 0 rows affected (0.29 sec)
MySQL'den sample adlı tabloyu sildiğimiz için, tabloların listesini tekrar alırsanız, içinde tablo adı örneğini bulamazsınız.
mysql> SHOW TABLES;
+-----------------+
| Tables_in_mydb |
+-----------------+
| contact |
| cricketers_data |
| employee |
| tutorials |
+-----------------+
4 rows in set (0.00 sec)
Python kullanarak bir tabloyu kaldırma
MYSQL'in DROP deyimini kullanarak istediğiniz zaman bir tabloyu bırakabilirsiniz, ancak mevcut tabloyu silerken çok dikkatli olmanız gerekir çünkü bir tablo silindikten sonra kaybolan veriler kurtarılmayacaktır.
Python kullanarak MYSQL veritabanından bir tablo bırakmak için execute() yöntemini imleç nesnesine yerleştirin ve drop deyimini bir parametre olarak ona iletin.
Misal
Aşağıdaki tablo, veritabanından EMPLOYEE adlı bir tablo bırakmaktadır.
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()
Çıktı
List of tables in the database:
[('employee',), ('employeedata',), ('sample',), ('tutorials',)]
Table dropped...
List of tables after dropping the EMPLOYEE table:
[('employeedata',), ('sample',), ('tutorials',)]
Tabloyu yalnızca varsa bırak
Veritabanında olmayan bir tabloyu düşürmeye çalışırsanız, şu şekilde bir hata oluşur -
mysql.connector.errors.ProgrammingError: 1051 (42S02):
Unknown table 'mydb.employee'
Bu hatayı, tablonun silinmeden önce var olup olmadığını doğrulayarak, DELETE deyimine IF EXISTS'i ekleyerek önleyebilirsiniz.
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()
Çıktı
List of tables in the database:
[('employeedata',), ('sample',), ('tutorials',)]
Table dropped...
List of tables after dropping the EMPLOYEE table:
[('employeedata',), ('sample',),
('tutorials',)]