Basis data adalah kumpulan informasi atau data terstruktur yang terorganisasi dengan baik yang disimpan dalam sistem komputer. Dalam database, data disusun dalam bentuk tabel, dan kita dapat mengakses informasi atau data tersebut dengan melakukan query
Python dapat digunakan untuk menghubungkan Database. MySQL adalah salah satu Database yang paling populer. Dalam tutorial ini, kita akan belajar membuat koneksi ke MySQL melalui Python. Mari kita pahami langkah-langkah berikut untuk bekerja dengan MySQL menggunakan Python
- Instal Driver MySQL
- Buat objek koneksi
- Buat objek kursor
- Jalankan Kueri
Instal Driver MySQL
Pertama, kita membutuhkan driver MySQL di sistem kita. Instal perangkat lunak MySQL dan konfigurasikan pengaturannya. Kami akan menggunakan driver konektor MySQL, yang diinstal menggunakan perintah pip. Buka prompt perintah dan ketik perintah berikut
Tekan tombol masuk. Ini akan mengunduh driver MySQL
Mari kita periksa apakah kita telah menginstalnya dengan benar atau tidak. Itu bisa dilakukan dengan mengimpor mysql. penyambung
Jika baris ini dijalankan tanpa kesalahan, berarti konektor MySQL telah terpasang dengan benar. Kami siap menggunakannya
Buat Objek Koneksi
mysql. connector menyediakan metode connect() yang digunakan untuk membuat koneksi antara database MySQL dan aplikasi Python. Sintaks diberikan di bawah ini
Sintaksis
Fungsi connect() menerima argumen berikut
- Hostname - Ini mewakili nama server atau alamat IP tempat MySQL berjalan
- Nama pengguna - Ini mewakili nama pengguna yang kami gunakan untuk bekerja dengan server MySQL. Secara default, nama pengguna untuk database MySQL adalah root
- Kata Sandi - Kata sandi diberikan pada saat menginstal database MySQL. Kami tidak perlu memberikan kata sandi jika kami menggunakan root
- Database - Ini menentukan nama database yang ingin kita hubungkan. Argumen ini digunakan ketika kita memiliki banyak database
Perhatikan contoh berikut
Contoh -
Keluaran
Buat Objek Kursor
Objek koneksi perlu dibuat karena menyediakan beberapa lingkungan kerja koneksi yang sama ke database. Fungsi cursor() digunakan untuk membuat objek kursor. Ini adalah impor untuk mengeksekusi kueri SQL. Sintaks diberikan di bawah ini
Sintaksis
Mari kita pahami contoh berikut
Contoh -
Keluaran
MySQLCursor: (Nothing executed yet) _
Mengeksekusi Kueri
Pada contoh berikut, kita akan membuat database dengan mengeksekusi query. Mari kita pahami contoh berikut
Contoh -
Keluaran
'information_schema',) ('javatpoint',) ('javatpoint1',) (New_Pythondb) ('mydb',) ('mydb1',) ('mysql',) ('performance_schema',) ('testDB',)
Dalam tutorial di atas, kita telah membahas bagaimana kita dapat membuat koneksi ke MySQL melalui Python. Anda dapat mempelajari Python lengkap dengan MySQL dari (https. // www. javatpoint. com/python-mysql-koneksi-database)
Mereka menyediakan cara mudah untuk menyimpan sejumlah besar informasi. Selain itu, dengan bantuan SQL, mengakses, memelihara, dan memodifikasi data yang tersimpan di dalamnya menjadi sangat mudah
Meski begitu, pengaturan seperti itu dilengkapi dengan peringatan tertentu. Jika Anda ingin menarik wawasan dari informasi yang disimpan dalam basis data, Anda terbatas pada perintah yang disediakan oleh SQL
Sementara SQL memungkinkan Anda untuk melakukan penggabungan atau memanfaatkan fungsi agregasi, itu tidak menyediakan sarana untuk melakukan teknik yang lebih maju seperti melakukan uji statistik atau membangun model prediksi. Jika Anda ingin melakukan operasi semacam itu, Anda memerlukan bantuan Python
Ini menimbulkan pertanyaan. bagaimana Anda menerapkan kode Python pada database yang merespons kueri SQL?
Adaptor Basis Data
Untuk mengakses database dengan Python, Anda harus menggunakan adaptor database
Python menawarkan adaptor basis data melalui modulnya yang memungkinkan akses ke basis data utama seperti MySQL, PostgreSQL, SQL Server, dan SQLite
Selain itu, semua modul ini mengandalkan API basis data Python (DB-API) untuk mengelola basis data. Akibatnya, kode yang digunakan untuk mengelola database konsisten di semua adaptor database
Setelah Anda berhasil berkomunikasi dengan satu database relasional, Anda harus dapat berkomunikasi dengan mereka semua
Memanfaatkan adaptor database memerlukan pemahaman tentang objek dan metode utama yang akan digunakan untuk memfasilitasi interaksi dengan database yang dimaksud
Studi kasus
Demonstrasi sederhana dapat menampilkan fitur adaptor database
Karena saya menggunakan PostgreSQL, saya harus mengandalkan modul psycopg2
Studi ini akan menggunakan database yang disebut "test_db". Basis data ini berisi tabel yang disebut "Orang", yang berisi data palsu yang dibuat dengan Mockaroo
Berikut pratinjau datanya
Pratinjau Keluaran Kode (Dibuat Oleh Penulis)
- Menghubungkan ke database
Pertama, kita perlu membuat koneksi ke database agar kita dapat berkomunikasi dengannya menggunakan Python. Kita dapat mencapai ini dengan membuat objek koneksi
Saat membuat objek koneksi, Anda menyediakannya dengan informasi yang diperlukan untuk mencari dan mengakses database. Ini termasuk host, nama pengguna, kata sandi, dan nama basis data
2. Menulis kueri ke database dari Python
Sekarang setelah kita terhubung ke database, kita seharusnya dapat menulis kueri ke database langsung dari Python
Meskipun kami menggunakan Python sekarang, kami harus terus menggunakan kueri SQL untuk mengambil informasi apa pun
Sebelum menulis kueri apa pun, kita perlu membuat objek kursor
Objek kursor menggunakan metode eksekusi untuk menjalankan kueri yang diberikan. Output kueri yang dihasilkan dapat diambil dengan metode fetchall
Mari gunakan prosedur ini untuk memilih 5 baris pertama dalam tabel Person
Keluaran Kode (Dibuat Oleh Penulis)
Seperti yang ditunjukkan pada output, setiap baris disajikan sebagai sebuah tupel
Untuk mendapatkan nama kolom tabel, Anda dapat menggunakan atribut description pada objek kursor
Keluaran Kode (Dibuat Oleh Penulis)
3. Melakukan analisis lanjutan dengan database
Meskipun kita bisa menulis kueri SQL ke database dari Python, tidak ada gunanya menggunakan adaptor jika hanya itu yang bisa kita lakukan
Mari kita lakukan operasi dengan data di tabel "Orang" yang tidak dapat kita lakukan hanya dengan kueri SQL
Untuk melakukan ini, pertama-tama kita harus menyimpan tabel di Python sebagai bingkai data panda
Keluaran Kode (Dibuat Oleh Penulis)
Sekarang, kami memiliki kekuasaan penuh untuk melakukan apapun yang kami inginkan dengan data
Sebagai contoh, mari kita periksa pendapatan rata-rata pria dan wanita dalam kumpulan data ini
Keluaran Kode (Dibuat Oleh Penulis)
Kita bisa melihat bahwa wanita rata-rata berpenghasilan lebih tinggi dari pria. Namun, tidak ada indikasi bahwa perbedaan ini signifikan secara statistik
Kita dapat menggunakan modul SciPy Python untuk melakukan uji-t untuk melihat apakah ada bukti bahwa pria dan wanita tidak mendapatkan jumlah pendapatan yang sama
Keluaran Kode (Dibuat Oleh Penulis)
Berkat utilitas Python, kami dapat belajar lebih banyak dari data kami. Kita sekarang tahu bahwa secara statistik terdapat perbedaan pendapatan yang signifikan antara laki-laki dan perempuan
Tentu saja, karena datanya palsu, analisis apa pun yang kami lakukan sama bermanfaatnya dengan sauna di gurun, tetapi Anda mengerti.
4. Memodifikasi database langsung dari Python
Mungkin ada kebutuhan untuk membuat, menjatuhkan, atau memodifikasi tabel dalam database selama penelitian. Operasi semacam itu juga dapat dilakukan dari Python
Dalam kasus kami, katakanlah alih-alih memiliki 2 kolom terpisah dengan nama depan dan nama belakang, kami hanya ingin satu kolom menyimpan nama lengkap
Kita dapat mencapai ini dengan langkah-langkah berikut
- Buat kolom baru bernama "nama"
- Tambahkan nilai ke kolom "nama" dengan menggabungkan nilai di kolom "nama_pertama" dan "nama_belakang"
- Jatuhkan kolom "first_name" dan "last_name".
Kita dapat melakukan langkah-langkah ini dengan kode berikut
Catatan. Penyertaan yang sangat penting dalam kode adalah metode komit pada baris 12. Setiap modifikasi yang dilakukan pada database dengan Python tidak secara otomatis dilakukan pada database. Jadi, metode ini harus dipanggil agar perubahan diterapkan
Anda dapat melihat perubahan yang diterapkan saat Anda kembali ke database
Keluaran Kode (Dibuat Oleh Penulis)
Fitur yang sangat membantu dari adaptor basis data adalah memungkinkan Anda untuk membatalkan modifikasi yang tidak diinginkan (selama tidak dilakukan)
Dengan metode rollback, Anda dapat mengembalikan database Anda ke statusnya pada komit terakhir
5. Mengakhiri koneksi ke database
Setelah Anda selesai berkomunikasi dengan database, Anda dapat mengakhiri koneksi ke database dengan metode close
Kesimpulan
Foto oleh Prateek Katyal di Unsplash
SQL dan Python hadir dengan kelebihan dan kekurangannya masing-masing
Untungnya, dengan adapter database, Anda dapat memanfaatkan kedua alat tersebut dalam studi Anda dan mendapatkan yang terbaik dari keduanya
Untuk pemahaman yang lebih menyeluruh tentang apa yang dapat Anda lakukan dengan adaptor database tertentu, saya sarankan Anda meluangkan waktu untuk membaca dokumentasinya untuk mempelajari lebih lanjut tentang alat yang tersedia untuk Anda.