Media Belajar Bahasa Pemrograman | by APPKEY

PythonTutorial Python 33 : Python DB-API, Belajar Database pada...

Tutorial Python 33 : Python DB-API, Belajar Database pada Bahasa Python

-

Dalam setiap program di berbagai bahasa pemrograman pasti membutuhkan database. Begitu juga pada Python yang membutuhkan database. Adapun database standar dari Python adalah Python DB-API. Sebelum belajar REST API Python lebih jauh, Anda perlu pahami terlebih dahulu apa itu Database.

Apa Itu Database?

Sebelumnya Anda pasti sudah familiar dengan istilah database. Berikut ini adalah penjelasan tentang database yang akan mengingatkan Anda tentang apa itu database.

Database adalah abstraksi atas sistem file sistem operasi yang memudahkan pengembang untuk membangun aplikasi yang membuat, membaca, memperbarui, dan menghapus data persisten.

Pada aplikasi web tingkat tinggi menyimpan data dan menyajikannya kepada pengguna dengan cara yang bermanfaat. Misalnya, Google menyimpan data tentang jalan dan memberikan petunjuk arah untuk pergi dari satu lokasi ke lokasi lain dengan berkendara melalui aplikasi Maps.

Petunjuk arah mengemudi dimungkinkan karena data disimpan dalam format terstruktur. Database membuat penyimpanan terstruktur dapat diandalkan dan cepat. Mereka juga memberi Anda kerangka kerja mental tentang bagaimana data harus disimpan dan diambil alih-alih harus mencari tahu apa yang harus dilakukan dengan data setiap kali Anda membangun aplikasi baru.

Database Python

Ada banyak sekali platform Python DB-API yang tersedia dan didukung oleh Python. Anda dapat memilih database yang tepat untuk aplikasi Anda. Python Database API mendukung berbagai server database seperti:

  • GadFly
  • mSQL
  • MySQL
  • PostgreSQL
  • Microsoft SQL Server 2000
  • Informix
  • Interbase
  • Oracle

SybaseBerikut adalah daftar antarmuka database Python yang tersedia: Antarmuka dan API Database Python. Anda harus mengunduh modul DB API terpisah untuk setiap database yang perlu Anda akses. Misalnya, jika Anda perlu mengakses database Oracle serta database MySQL, Anda harus mendownload modul database Oracle dan MySQL.

DB API menyediakan standar minimal untuk bekerja dengan database menggunakan struktur dan sintaks Python jika memungkinkan. API ini mencakup berikut

  • Mengimpor modul API.
  • Mendapatkan koneksi dengan database.
  • Mengeluarkan pernyataan SQL dan prosedur tersimpan.
  • Menutup koneksi

Kita akan mempelajari semua konsep menggunakan MySQL, jadi mari kita bicara tentang modul MySQLdb.

Artikel Terkait  Tutorial Python 30 : File I/O, Cara Membaca dan Menulisnya Python

Apa Itu MySQLdb?

MySQLdb adalah Interface untuk menghubungkan ke server database MySQL dari Python. Ini mengimplementasikan Python Database API v2.0 dan dibangun di atas MySQL C API. Berikut ini adalah cara menginstal MySQLdb.

Sebelum melanjutkan, pastikan Anda telah menginstal MySQLdb di komputer Anda. Cukup ketik berikut ini di skrip Python Anda dan jalankan.

import MySQLdb

Jika menghasilkan hasil sebagai berikut, berarti modul MySQLdb belum terpasang.

Traceback (most recent call last):
   File "test.py", line 3, in <module>
      import MySQLdb
ImportError: No module named MySQLdb

Untuk menginstal modul MySQLdb, Anda bisa gunakan perintah di bawah ini:

Untuk Ubuntu, Anda dapat menggunakan perintah berikut -
$ sudo apt-get install python-pip python-dev libmysqlclient-dev

Untuk Fedora, Anda dapat menggunakan perintah berikut -
$ sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc

Untuk Python command prompt, Anda dapat menggunakan perintah berikut -
pip install MySQL-python

Pastikan Anda memiliki hak akses root untuk menginstal modul di atas.

Koneksi Database Python

Sebelum mengkoneksikan Python DB-API ke MySQL maka pastikan beberapa hal di bawah ini.

  • Anda telah membuat database sekolah.
  • Anda telah membuat tabel siswa di sekolah
  • Tabel ini memiliki bidang nama, usia, jenis_kelamin, dan hobi.
  • ID pengguna “sekolah” dan kata sandi “asd123” diatur untuk mengakses sekolah.
  • Modul Python MySQLdb diinstal dengan benar di mesin Anda.
  • Anda telah melalui tutorial MySQL untuk memahami Dasar-dasar MySQL.

Berikut ini adalah contoh untuk mengkoneksikan MySQL Database “sekolah”

import MySQLdb

db = MySQLdb.connect("localhost","sekolah","asd123","sekolah" )

cursor = db.cursor()

cursor.execute("Pilih versi()")

data = cursor.fetchone()
print "Versi database adalah %s " % data

db.close()

Ketika menjalankan skrip ini, maka hasil yang akan Anda peroleh.

Versi database adalah 5.0.45 (berdasarkan versi yg digunakan)

Jika koneksi dibuat dengan sumber data, maka Objek Koneksi dikembalikan dan disimpan ke db untuk digunakan lebih lanjut, jika tidak, db disetel ke None.

Selanjutnya, objek db digunakan untuk membuat objek kursor, yang pada gilirannya digunakan untuk mengeksekusi kueri SQL. Akhirnya, sebelum keluar, ini memastikan bahwa koneksi database ditutup dan sumber daya dilepaskan.

Membuat Tabel Database

Setelah koneksi database dibuat, kami siap untuk membuat tabel atau catatan ke dalam tabel database menggunakan metode eksekusi dari kursor yang dibuat. Berikut ini adalah contoh pembuatan tabel siswa.

import MySQLdb

db = MySQLdb.connect("localhost","sekolah","asd123","sekolah" )

cursor = db.cursor()

cursor.execute("DROP TABLE IF EXISTS siswa")

sql = """CREATE TABLE siswa (
         nama  VARCHAR(255),
         usia INT,  
         jenis_kelamin CHAR(1),
         hobi VARCHAR(255))"""

cursor.execute(sql)

db.close()

Operasi INSERT

Ini diperlukan ketika Anda ingin membuat catatan Anda ke dalam tabel database. Contoh berikut, mengeksekusi pernyataan SQL INSERT untuk membuat record ke dalam tabel siswa.

import MySQLdb

db = MySQLdb.connect("localhost","sekolah","asd123","sekolah" )

cursor = db.cursor()

sql = """INSERT INTO siswa(nama, usia, jenis_kelamin, hobi)
         VALUES ('Doni', 18, 'L', 'Tidur')"""
try:
   cursor.execute(sql)
   db.commit()
except:
   db.rollback()

db.close()

Contoh di atas dapat ditulis sebagai berikut untuk membuat kueri SQL secara dinamis:

import MySQLdb

db = MySQLdb.connect("localhost","sekolah","asd123","sekolah" )

cursor = db.cursor()

sql = "INSERT INTO siswa(nama, \
       usia, jenis_kelamin, hobi) \
       VALUES ('%s', '%d', '%c', '%s' )" % \
       ('Anto', 25, 'L', 'Mancing')
try:
   cursor.execute(sql)
   db.commit()
except:
   db.rollback()

db.close()

Segmen kode berikut adalah bentuk eksekusi lain di mana Anda dapat melewatkan parameter secara langsung

Operasi READ

READ Operasi pada database apa pun berarti mengambil beberapa informasi berguna dari database.  Setelah koneksi database kami dibuat, Anda siap untuk membuat kueri ke dalam database ini.

Anda dapat menggunakan metode fetchone() untuk mengambil satu record atau metode fetchall() untuk mengambil beberapa nilai dari tabel database.

  • fetchone() Ini mengambil baris berikutnya dari kumpulan hasil kueri. Kumpulan hasil adalah objek yang dikembalikan saat objek kursor digunakan untuk kueri tabel.
  • fetchall() Ini mengambil semua baris dalam set hasil. Jika beberapa baris telah diekstraksi dari kumpulan hasil, maka baris yang tersisa akan diambil 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 siswa yang memiliki gaji lebih dari 1000

import MySQLdb

db = MySQLdb.connect("localhost","sekolah","asd123","sekolah")

cursor = db.cursor()

sql = "SELECT * FROM siswa \
       WHERE usia > '%d'" % (20)
try:
   cursor.execute(sql)
   results = cursor.fetchall()
   for row in results:
      nama = row[0]
      usia = row[1]
      jenis_kelamin = row[2]
      hobi = row[3]
      print "nama=%s, usia=%d, jenis_kelamin=%s, hobi=%s" % \
             (nama, usia, jenis_kelamin, hobi)
except:
   print "Error: tidak dapat mengambil data"

db.close()

Maka kode di atas akan memberikan hasil sebagai berikut.

nama=Anto, usia=25, jenis_kelamin=L, hobi=Mancing

Operasi Update

Pengoperasian UPDATE pada database apa pun berarti memperbarui satu atau lebih catatan, yang sudah tersedia dalam database. Prosedur berikut memperbarui semua catatan yang memiliki jenis_kelamin sebagai ‘L’. Di sini, kami meningkatkan usia semua pria satu tahun. Berikut adalah contohnya.

import MySQLdb

db = MySQLdb.connect("localhost","sekolah","asd123","sekolah")

cursor = db.cursor()

sql = "UPDATE siswa SET usia = usia + 1
                          WHERE jenis_kelamin = '%c'" % ('L')
try:
   cursor.execute(sql)
   db.commit()
except:
   db.rollback()

db.close()

Operasi Delete

Operasi DELETE diperlukan ketika Anda ingin menghapus beberapa record dari database Anda. Berikut adalah prosedur untuk menghapus semua record dari siswa dimana usia lebih dari 20.

import MySQLdb

db = MySQLdb.connect("localhost","sekolah","asd123","sekolah")

cursor = db.cursor()

sql = "DELETE FROM siswa WHERE usia > '%d'" % (20)
try:
   cursor.execute(sql)
   db.commit()
except:
   db.rollback()

db.close()

Melakukan Transaksi

Transaksi adalah mekanisme yang menjamin konsistensi data. Transaksi memiliki empat properti berikut

  • Atomicity – Transaksi selesai atau tidak terjadi sama sekali.
  • Consistency – Sebuah transaksi harus dimulai dalam keadaan yang konsisten dan meninggalkan sistem dalam keadaan yang konsisten.
  • Isolation – Hasil antara suatu transaksi tidak terlihat di luar transaksi saat ini.
  • Durability – Setelah transaksi dilakukan, efeknya tetap ada, bahkan setelah kegagalan sistem.

Python DB-API 2.0 menyediakan dua metode untuk melakukan atau mengembalikan transaksi. Anda sudah tahu bagaimana menerapkan transaksi. Berikut ini adalah contoh serupa.

Artikel Terkait  Tutorial Python 15 : Python Pandas, Manipulasi Data Menggunakan Pandas Dataframe

sql = "DELETE FROM siswa WHERE usia > '%d'" % (20)
try:
   cursor.execute(sql)
   db.commit()
except:
   db.rollback()

Operasi COMMIT

Commit adalah operasi, yang memberikan sinyal hijau ke database untuk menyelesaikan perubahan, dan setelah operasi ini, tidak ada perubahan yang dapat dikembalikan. Berikut adalah contoh sederhana untuk memanggil metode komit.

db.commit()

Operasi ROLLBACK

Jika Anda tidak puas dengan satu atau beberapa perubahan dan Anda ingin mengembalikan perubahan tersebut sepenuhnya, gunakan metode rollback(). Berikut adalah contoh sederhana untuk memanggil metode rollback().

db.rollback()

Disconnect Database

Untuk melakukan disconnect database, gunakan metode close().

db.close()

Jika koneksi ke database ditutup oleh pengguna dengan metode close(), setiap transaksi yang belum selesai akan dibatalkan oleh DB. Namun, daripada bergantung pada salah satu detail implementasi tingkat DB yang lebih rendah, aplikasi Anda akan lebih baik memanggil commit atau rollback secara eksplisit.

Handling Errors

Ada banyak sumber kesalahan. Beberapa contoh adalah kesalahan sintaks dalam pernyataan SQL yang dieksekusi, kegagalan koneksi, atau memanggil metode pengambilan untuk pegangan pernyataan yang sudah dibatalkan atau selesai.

Python DB-API mendefinisikan sejumlah kesalahan yang harus ada di setiap modul database. Tabel berikut mencantumkan exceptions ini.

Sr.No. Exception & Description
1 Warning

Digunakan untuk masalah non-fatal. Harus subclass StandardError.

2 Error

Kelas dasar untuk kesalahan. Harus mensubkelaskan StandardError.

3 InterfaceError

Digunakan untuk kesalahan dalam modul database, bukan database itu sendiri. Harus kesalahan subkelas.

4 DatabaseError

Digunakan untuk kesalahan dalam database. Harus kesalahan subkelas.

5 DataError

Subclass dari DatabaseError yang mengacu pada kesalahan dalam data.

6 OperationalError

Subclass dari DatabaseError yang mengacu pada kesalahan seperti hilangnya koneksi ke database. Kesalahan ini umumnya di luar kendali skrip Python.

7 IntegrityError

Subkelas DatabaseError untuk situasi yang akan merusak integritas relasional, seperti batasan keunikan atau kunci asing.

8 InternalError

Subclass dari DatabaseError yang mengacu pada kesalahan internal ke modul database, seperti kursor tidak lagi aktif.

9 ProgrammingError

Subclass dari DatabaseError yang mengacu pada kesalahan seperti nama tabel yang buruk dan hal-hal lain yang dapat dengan aman disalahkan pada Anda.

10 NotSupportedError

Subkelas DatabaseError yang mengacu pada upaya memanggil fungsionalitas yang tidak didukung.

 

Skrip Python Anda harus menangani kesalahan ini, tetapi sebelum menggunakan salah satu pengecualian di atas, pastikan MySQLdb Anda memiliki dukungan untuk pengecualian itu. Anda bisa mendapatkan informasi lebih lanjut tentang mereka dengan membaca spesifikasi DB API 2.0.

Itulah penjelasan tentang Python DB-API untuk Anda yang ingin belajar Python REST API. Jika Anda tertarik untuk tahu lebih banyak materi tentang Python Programming, jangan lupa kunjungi selalu Codekey di https://codekey.id/.

Codekey adalah media untuk belajar berbagai Bahasa Pemrograman yang bisa Anda gunakan untuk belajar bahasa pemrograman dengan mudah kapan saja dan di mana saja. Allow notification dari website Codekey dan dapatkan materi terbaru.


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Tutorial

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang bahasa pemrograman langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Blog Post Ranking 10

Tutorial Python 9 : Cara Membuat Looping Python

Pada artikel sebelumnya, Codekey telah menjelaskan tentang Operasi Kondisional Python yang di dalamnya menyinggung tentang percabangan dan perulangan. Belajar...

Tutorial Python 8 : Langkah Mudah Membuat Operasi Kondisional pada Python

Pada pembahasan sebelumnya, Codekey telah menjelaskan kepada Anda tentang pengoperasian string pada Python mulai dari menggabungkan hingga memanipulasi string...

Tutorial Python 7 : Python String Format dan Cara Mudahnya

Anda ingin belajar Python dan ingin menjadi ahli dalam bahasa pemrograman Python? Mari belajar bersama Codekey! Pada pembahasan kali...

Tutorial PHP 22 : Cara Membuat Redirect PHP dengan Cepat dan Mudah

Jika Anda melakukan browsing di browser kesayangan Anda, mungkin Anda pernah melihat link yang berisikan “php redirect” atau yang...

Tutorial PHP 23 : Cara Membuat Messages Alert PHP

Alert box atau alert messages digunakan di situs web untuk menampilkan pesan peringatan kepada pengguna bahwa mereka telah memasukkan...

Tutorial Dart 18 : Ayo Mulai, Pelajari Cara Install Flutter

Pada seri tutorial Dart kali ini, Codekey akan menampilkan hal yang sedikit berbeda, yaitu tentang aplikasi-aplikasi yang mendukung pemrograman...

Tutorial SQL 8 : Constraint SQL, Bagaimana Fungsi dan Penggunaannya?

Pada artikel sebelumnya Anda telah mempelajari tentang wildcard SQL, pada artikel kali ini kami akan menjelaskan tentang constraint SQL. Jika...

Tutorial Javascript 8 : Array Javascript, Panduan Lengkap Cara Membuatnya

Seperti bahasa pemrograman yang berorientasi objek lainnya, dalam JavaScript juga terdapat array. Jika Anda memiliki banyak objek yang ingin...

Tutorial PHP 8 : Memahami Array Multidimensi PHP

Pada artikel sebelumnya kami telah membahas tentang array PHP serta membahas sedikit tentang array multidimensi PHP. Pada artikel kali...

Tutorial SQL 9 : Agregasi SQL, Cara Mengolah data Menggunakan Fungsi Ini

Agregasi data adalah cara runtuh, meringkas, atau mengelompokan data. Agregasi adalah hal yang selalu ada di setiap aplikasi untuk...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya