1. Home
  2. Docs
  3. Kelas Privat Python – 01
  4. Materi [Manajemen Data]
  5. MySQL dan Python

MySQL dan Python

MySQL

MySQL adalah salah satu basisdata relasional yang paling populer. MySQL merupakan perangkat lunak open source yang didukung langsung oleh oracle, artinya kita dapat langsung menggunakan MySQL dengan gratis.

Walaupun begitu, berbeda dengan sqlite, pengguna juga dapat membeli lisensi premium dari Oracle untuk mendapatkan dukungan resmi untuk MySQL.

MySQL mendukung berbagai macam sistem operasi, Linux, Windows, dll. MySQL juga sering dipakai saat kita ingin mengembangkan sebuah perangkat lunak berbasis web.

Instalasi

Untuk melakukan instalasi silahkan mengunjungi website resminya

https://dev.mysql.com/downloads/

Lalu pilih MySQL installer for …

Pilih file instalasi yang dibutuhkan. Kita bisa memilih antara web installer atau pun yang non web installer.

Setelah selesai melakukan instalasi silahkan untuk menjalankan file instalasi.

Pada menu setup, kita bisa memilih Jenis instalasi,

Pilihlah Developer Setup Untuk melakukan instalasi semua package yang dibutuhkan untuk melakukan pengembangan mysql.

Setelahnya Installer akan melakukan pengecekan dependensi, jika ada syarat yang kurang maka installer dapat memenuhi secara otomatis.

Klik execute untuk melakukan instalasi requirement otomatis.

Pada menu instalasi klik execute.

Setelah itu kita akan masuk ke Menu Product Configuration

yang pertama kita setting adalah jenis config yang kita akan gunakan untuk komputer kita. Terdapat tiga jenis konfigurasi utama, development, server, dan user.

Setelah itu kita akan dihadapkan pada menu autentikasi. Persiapkan password yang akan menjadi kunci untuk akun root kita.

Setelah itu kita tinggal mengkonfigurasikan MySQL kita sebagai window service dan melakukan pengecekan pada server kita.

Jika koneksi berhasil maka langkah pertama kita untuk melakukan instalasi MySQL telah berhasil.

MySQL Workbench

Salah satu GUI yang bisa kita gunakan untuk melihat data pada basisdata mysql adalah MySQL Workbench. Secara default pada saat kita melakukan instalasi mysql maka mysql workbench juga akan ikut terinstall, akan tetapi jika kita mendapatkan kasus dimana kita belum memiliki mysql workbench maka kita dapat melakukan instalasi melalui situs resmi mysql.

https://www.mysql.com/products/workbench/

Untuk membuat koneksi dengan mesin basis data, kita dapat memilih mesin yang telah kita buat saat instalasi atau membuat baru dengan menekan tombol “plus”.

Untuk membuat database baru kita menggunakan menu toolbar “create a new schema in the connected server”

Kalian bisa mengakses schema pada sidebar schema di sebelah kiri.

Untuk membuat sebuah tabel pada schema tersebut kita dapat menggunakan menu “create a new table in the active schema in connected server”.

Tuliskan nama tabel kalian, pastikan schema yang dimaksud benar. Lalu klik apply.

Kolom bisa kalian tambahkan pada jendela “Apply SQL Script to Database”

MySQL dan Python

Database driver adalah peranti lunak yang memberikan akses pada suatu aplikasi untuk tersambung pada basisdata. Bahasa pemograman python membutuhkan driver tersebut untuk menyambungkan dengan Python Database API. Driver yang dimaksud diantaranya sqlite3 untuk SQLite, psycopg untuk PostgreSQL, dan yang akan kita gunakan kali ini, MySQL Connector/Python untuk MySQL

Untuk melakukan instalasi driver kita bisa dengan menggunakan kode,

pip install mysql-connector-python

Membuka Koneksi

MySQL ada RDBMS yang berbasis pada server, berbeda dengan sqlite yang bisa langsung kita gunakan. Satu server bisa memiliki lebih dari satu basisdata (schema). Akan tetapi, untuk bisa berinterasi hal pertama yang harus kita lakukan adalah membuat koneksi terlebih dahulu.

Langkah – langkah yang dijalankan ketika kita akan melakukan interaksi dengan suatu basisdata adalah:

  1. Membuka koneksi dengan MySQL server
  2. Membuat database baru (opsional jika belum ada)
  3. Mengkoneksikan dengan database yang baru dibuat/sudah ada
  4. Mengeksekusi query sql
  5. Memberitahukan bila ada perubaha (opsional jika ada perubahan)
  6. Menutup koneksi ke dalam MySQL server.

Untuk membuat koneksi, langkah pertama yang harus kita lakukan adalah melakukan import modul yang kita miliki.

from mysql.connector import connect

untuk membuat koneksi dengan database yang kita miliki kita dapat menggunakan kode

db = connect(
    host = "localhost",
    user = "root",
    passwd = "****",
    database = "test_table"
)

Melihat Data

Untuk melihat suatu data kita akan menggunakan fungsi fetch setelah kita membuka koneksi dengan server.

cursor = db.cursor()

Kita persiapkan query yang ingin kita gunakan,

query = "select * from user"

lalu kita eksekusi query kita,

cursor.execute(query)

Lalu kita gunakan fetchall untuk mengambil semua data kita

data = cursor.fetchall()

Untuk menampilkan kita bisa menggunakan for loop,

for row in data:
    print(row)

Manipulasi Data

Operasi manipulasi data terdiri dari beberapa fungsi utama diantaranya, Menambahkan, Mengubah dan Menghapus. Struktur yang digunakan mirip dengan apa yang akan kita gunakan pada query select hanya saja disini kita tidak menggunakan fetch akan tetapi commit.

Pertama kita siapkan objek kursor kita,

cursor = db.cursor()

lalu kita tuliskan query yang kita inginkan,

query = "tuliskan query disini"

lalu kita eksekusi query kita,

cursor.execute(query)

Untuk memberitahukan adanya perubahan ke dalam server kita kita menggunakan perintah commit.

db.commit()

Sebagai contoh, misalkan kita akan memasukkan suatu data pada basisdata kita.

    crud_query = '''insert into user (id, name, score) values (%s,%s,%s);'''

    input_list = (data1, data2, data3)

    cursor = db.cursor()
    cursor.execute(crud_query,input_list)
    db.commit()

%s digunakan sebagai penganti sebuah variabel yang nilainya akan kita ganti dengan input_list.