Pelajaran ini menunjukkan bagaimana mengeksekusi query SQL DELETE dari Python untuk menghapus data dari tabel database MySQL
Setelah membaca artikel ini, Anda akan dapat menghapus satu, banyak, dan semua baris, serta menghapus satu kolom dan banyak kolom dari tabel MySQL menggunakan Python
Bacaan lebih lanjut
- Selesaikan Latihan Python MySQL
- Baca Tutorial Python MySQL (Panduan Lengkap)
Daftar isi
Prasyarat
Sebelum melangkah lebih jauh, Pastikan Anda memiliki yang berikut ini. –
- Nama pengguna dan kata sandi untuk menghubungkan MySQL
- Nama tabel MySQL tempat Anda ingin memasukkan data
Untuk melakukan operasi penghapusan, saya menggunakan meja Laptop yang ada di server MySQL saya
Jika tabel tidak ada di server MySQL Anda, Anda dapat merujuk ke artikel kami di
Anda juga bisa mengunduh file kueri SQL, yang berisi kueri SQL untuk pembuatan tabel dan data sehingga Anda bisa menggunakan tabel ini untuk operasi INSERT Anda
Contoh Python untuk Menghapus Baris Tunggal dari tabel MySQL
Ikuti langkah ini. –
Cara menghapus baris di MySQL menggunakan Python
- Hubungkan ke MySQL dari Python
Lihat koneksi database MySQL Python untuk terhubung ke database MySQL dari Python menggunakan modul MySQL Connector
- Tentukan Permintaan Hapus SQL
Selanjutnya, siapkan kueri penghapusan SQL untuk menghapus baris dari tabel. Hapus kueri berisi baris yang akan dihapus berdasarkan kondisi yang ditempatkan di mana klausa kueri
Misalnya, Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed2 - Dapatkan Objek Kursor dari Connection
Selanjutnya, gunakan metode Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed_3 untuk membuat objek kursor. Metode ini membuat objek Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed_4 baru
- Jalankan kueri penghapusan menggunakan metode eksekusi()
Jalankan kueri penghapusan menggunakan metode Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed5. Metode ini mengeksekusi operasi yang disimpan dalam kueri penghapusan
Setelah operasi penghapusan berhasil, metode Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed_6 mengembalikan jumlah baris yang terpengaruh - Komit perubahan Anda
Setelah berhasil menjalankan operasi penghapusan, buat perubahan terus-menerus ke dalam database menggunakan Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed7 dari kelas koneksi
- Dapatkan jumlah baris yang terpengaruh
Gunakan metode Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed_8 untuk mendapatkan jumlah baris yang terpengaruh. Jumlahnya tergantung pada berapa banyak baris yang Anda hapus
Anda juga dapat Menjalankan kueri pemilihan MySQL dari Python untuk Memverifikasi hasilnya - Tutup objek kursor dan objek koneksi database
gunakan metode Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed9 dan import mysql.connector try: connection = mysql.connector.connect(host='localhost', database='electronics', user='pynative', password='pynative@#29') cursor = connection.cursor() sql_Delete_query = """Delete from Laptop where id = %s""" # row to delete laptopId = 6 cursor.execute(sql_Delete_query, (laptopId,)) connection.commit() print("Record Deleted successfully ") except mysql.connector.Error as error: print("Failed to Delete record from table: {}".format(error)) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")0 untuk menutup koneksi terbuka setelah pekerjaan Anda selesai
Contoh
import mysql.connector try: connection = mysql.connector.connect(host='localhost', database='electronics', user='root') cursor = connection.cursor() print("Laptop table before deleting a row") sql_select_query = """select * from Laptop where id = 7""" cursor.execute(sql_select_query) record = cursor.fetchone() print(record) # Delete a record sql_Delete_query = """Delete from Laptop where id = 7""" cursor.execute(sql_Delete_query) connection.commit() print('number of rows deleted', cursor.rowcount) # Verify using select query (optional) cursor.execute(sql_select_query) records = cursor.fetchall() if len(records) == 0: print("Record Deleted successfully ") except mysql.connector.Error as error: print("Failed to delete record from table: {}".format(error)) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")_Keluaran
Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closedGunakan Variabel Python dalam kueri SQL untuk menghapus data dari tabel
Terkadang kami membutuhkan input dari pengguna, misalnya saat pengguna menghapus data mereka dari portal web atau detail lainnya melalui Antarmuka Pengguna. dalam skenario seperti itu, selalu merupakan praktik terbaik untuk menggunakan kueri berparameter
Pernyataan yang disiapkan atau kueri berparameter menggunakan placeholder (import mysql.connector try: connection = mysql.connector.connect(host='localhost', database='electronics', user='pynative', password='pynative@#29') cursor = connection.cursor() sql_Delete_query = """Delete from Laptop where id = %s""" # row to delete laptopId = 6 cursor.execute(sql_Delete_query, (laptopId,)) connection.commit() print("Record Deleted successfully ") except mysql.connector.Error as error: print("Failed to Delete record from table: {}".format(error)) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")1 ) di dalam pernyataan SQL apa pun yang berisi input dari pengguna. Saya. e. , Dengan menggunakan kueri berparameter, kita dapat meneruskan variabel Python sebagai parameter kueri di mana placeholder (import mysql.connector try: connection = mysql.connector.connect(host='localhost', database='electronics', user='pynative', password='pynative@#29') cursor = connection.cursor() sql_Delete_query = """Delete from Laptop where id = %s""" # row to delete laptopId = 6 cursor.execute(sql_Delete_query, (laptopId,)) connection.commit() print("Record Deleted successfully ") except mysql.connector.Error as error: print("Failed to Delete record from table: {}".format(error)) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")1) digunakan untuk parameter
import mysql.connector try: connection = mysql.connector.connect(host='localhost', database='electronics', user='pynative', password='pynative@#29') cursor = connection.cursor() sql_Delete_query = """Delete from Laptop where id = %s""" # row to delete laptopId = 6 cursor.execute(sql_Delete_query, (laptopId,)) connection.commit() print("Record Deleted successfully ") except mysql.connector.Error as error: print("Failed to Delete record from table: {}".format(error)) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")_Keluaran
Record Deleted successfully MySQL connection is closedCatatan. Kami mendefinisikan kueri penghapusan SQL dengan placeholder yang berisi Laptop Id untuk dihapus dalam format tuple. Lihat Pilih kueri untuk mengambil data dari tabel MySQL untuk memverifikasi hasil operasi penghapusan Anda
Python Hapus Banyak Baris dari Tabel MySQL
Terkadang kita perlu menghapus N-number dari baris yang cocok dengan kondisi tertentu. Misalnya, Anda ingin menghapus data pegawai dari tabel pegawai yang keluar dari organisasi. Anda dapat menghapus beberapa baris dari tabel MySQL menggunakan SQL Query hapus tunggal dengan Python
Keluaran
2 Record Deleted successfully MySQL connection is closedLihat Pilih kueri untuk mengambil data dari tabel MySQL untuk memverifikasi hasil operasi penghapusan Anda
Mari kita pahami program di atas. –
- Kami mendefinisikan kueri penghapusan SQL dengan placeholder yang berisi ID Laptop untuk dihapus dalam format daftar. Daftar ini berisi tuple untuk setiap baris. Di sini kami membuat dua tupel, jadi kami menghapus dua baris
- Selanjutnya, kami menggunakan metode kursor import mysql.connector try: connection = mysql.connector.connect(host='localhost', database='electronics', user='pynative', password='pynative@#29') cursor = connection.cursor() sql_Delete_query = """Delete from Laptop where id = %s""" # row to delete laptopId = 6 cursor.execute(sql_Delete_query, (laptopId,)) connection.commit() print("Record Deleted successfully ") except mysql.connector.Error as error: print("Failed to Delete record from table: {}".format(error)) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")3 untuk menghapus beberapa baris tabel database. Menggunakan metode Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed_8, kita dapat menemukan berapa banyak baris yang berhasil dihapus
Hapus Semua baris dari tabel dengan Python
Dimungkinkan untuk menghapus semua baris dari tabel database MySQL menggunakan kueri SQL terpotong. Kueri SQL terpotong menghapus semua data dari tabel, biasanya melewati jumlah mekanisme penegakan integritas
Anda dapat merujuk ke artikel Wikipedia untuk membaca lebih lanjut tentang SQL truncate. Mari beralih ke kode python untuk menghapus semua baris dari tabel MySQL
import mysql.connector try: connection = mysql.connector.connect(host='localhost', database='electronics', user='pynative', password='pynative@#29') cursor = connection.cursor() Delete_all_rows = """truncate table Laptop """ cursor.execute(Delete_all_rows) connection.commit() print("All Record Deleted successfully ") except mysql.connector.Error as error: print("Failed to Delete all records from database table: {}".format(error)) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")Keluaran
All Record Deleted successfully MySQL connection is closedHapus Tabel MySQL dan Basis Data dari Python
Anda dapat menghapus tabel lama yang tidak terpakai serta database dan tabel sementara menggunakan pernyataan DROP TABLE dan DROP DATABASE. Mari lihat demonya
import mysql.connector try: connection = mysql.connector.connect(host='localhost', database='electronics', user='pynative', password='pynative@#29') cursor = connection.cursor() delete_table_query = """DROP TABLE Laptop""" cursor.execute(delete_table_query) delete_database_query = """DROP DATABASE Electronics""" cursor.execute(delete_database_query) connection.commit() print("Table and Database Deleted successfully ") except mysql.connector.Error as error: print("Failed to Delete table and database: {}".format(error)) finally: if connection.is_connected(): cursor.close() connection.close() print("MySQL connection is closed")Keluaran
Table and Database Deleted successfully MySQL connection is closedHapus kolom Tabel MySQL dari Python
Gunakan perintah alter table drop column untuk menghapus kolom dari tabel MySQL
Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed0Keluaran
Displaying laptop record Before Deleting it (7, 'Acer Predator Triton', 2435.0, datetime.date(2019, 8, 17)) Record Deleted successfully MySQL connection is closed_1Langkah selanjutnya
Untuk mempraktikkan apa yang Anda pelajari di artikel ini, Harap selesaikan proyek Latihan Database Python untuk Berlatih dan menguasai operasi Database Python