Standar Interface Python untuk database adalah Python DB-API. Kebanyakan Interface database Python mematuhi standar ini.
Anda bisa memilih database yang tepat untuk aplikasi Anda. API Database Python mendukung berbagai macam server database seperti.
- GadFly
- mSQL
- MySQL
- PostgreSQL
- Microsoft SQL Server 2000
- Informix
- Interbase
- Oracle
- Sybase
- SQLite
Untuk mempelajari lebih lengkap daftar antarmuka/interface database Python - Antarmuka dan API Database Python. Anda harus mendownload modul DB API terpisah untuk setiap database yang perlu Anda akses. Sebagai contoh, jika perlu mengakses database Oracle dan juga database MySQL, Anda harus mendownload kedua modul database Oracle dan MySQL.
API DB menyediakan standar minimal untuk bekerja dengan database menggunakan struktur dan sintaks Python sedapat mungkin. API ini meliputi:
- Mengimpor modul API.
- Mendapatkan koneksi dengan database.
- Menerbitkan pernyataan SQL dan prosedur tersimpan.
- Menutup koneksi
Python memiliki dukungan built-in untuk SQLite. Pada bagian ini, akan mempelajari semua konsep menggunakan MySQL. Modul MySQLdb, antarmuka yang populer dengan MySQL tidak kompatibel dengan Python 3. Sebagai gantinya, akan menggunakan modul PyMySQL.
Apa itu PyMySQL ?
PyMySQL adalah sebuah antarmuka untuk menghubungkan ke server database MySQL dari Python. Ini mengimplementasikan API Database Python v2.0 dan berisi perpustakaan klien MySQL murni-Python. Tujuan PyMySQL adalah penggantian drop-in untuk MySQLdb.
Cara Instal PyMySQL
Sebelum melanjutka, pastikan Anda telah menginstal PyMySQL di komputer. Cukup ketik berikut ini di skrip Python dan jalankan.
import PyMySQL
Jika menghasilkan hasil berikut, berarti modul MySQLdb tidak terpasang:
Traceback (most recent call last):
File "test.py", line 3, in
Import PyMySQL
ImportError: No module named PyMySQL
Untuk menginstal modul PyMySQL silahkan gunakan command/perintah berikut di command prompt:
pip install PyMySQL
Database Connection
Sebelum terhubung ke database MySQL, pastikan beberapa hal dibawah ini :
- telah membuat database TESTDB.
- telah membuat tabel EMPLOYEE di TESTDB.
- Tabel ini memiliki bidang FIRST_NAME, LAST_NAME, AGE, SEX, dan INCOME.
- User ID “testuser” dan password “test123” diatur untuk mengakses TESTDB.
- Python modul PyMySQL terinstal dengan benar pada mesin komputer.
- Anda telah melalui tutorial MySQL untuk memahami Dasar-Dasar MySQL
Berikut ini adalah contoh koneksi dengan database MySQL “TESTDB”
Membuat Tabel Database
Operasi Insert
Contoh berikut, mengeksekusi pernyataan SQL INSERT untuk membuat catatan di tabel EMPLOYEE
Contoh di atas bisa dituliskan sebagai berikut untuk membuat query SQL secara dinamis
Read Operation
READ Operation pada database apapun berarti mengambil beberapa informasi berguna dari database.
Setelah koneksi database terbentuk, siap untuk membuat query ke dalam database ini. bisa menggunakan metode fetchone() untuk mengambil satu record atau fetchall() metode untuk mengambil beberapa nilai dari tabel database.
Fetchone () - Ini mengambil baris berikut dari kumpulan hasil query. Set hasil adalah objek yang dikembalikan saat objek kursor digunakan untuk query tabel.
Fetchall () - Ini menjemput semua baris dalam kumpulan hasil. Jika beberapa baris telah diekstraksi dari himpunan hasil, maka akan diambil baris yang tersisa dari kumpulan hasil.
Rowcount - Ini adalah atribut read-only dan mengembalikan jumlah baris yang dipengaruhi oleh metode execute ().
Prosedur berikut menanyakan semua catatan dari tabel EMPLOYEE yang memiliki gaji lebih dari 1000
Setelah Anda eksekusi kode diatas, akan muncul hasil seperti dibawah ini :
fname = Mac, lname = Mohan, age = 20, sex = M, income = 2000
Update Operation
Operasi UPDATE pada database apapun berarti mengupdate satu atau lebih catatan, yang sudah tersedia di database. Prosedur berikut memperbarui semua catatan yang memiliki SEX sebagai ‘M’. Di sini, meningkatkan UMUR semua laki-laki satu tahun.
Delete Operation
Operasi DELETE diperlukan bila ingin menghapus beberapa catatan dari database. Berikut ini adalah prosedur untuk menghapus semua catatan dari EMPLOYEE dimana AGE lebih dari 20
Selain itu masih ada beberapa operasi sebagai berikut :
- Commit Operation db.commit()
- Rollback Operation db.rollback()
- Disconnect Operation db.close()