Cara menggunakan apa itu mysql connect?


#MySQL #Python

Python memang bisa digunakan di mana-mana.

di aplikasi CLI, desktop, IoT, server, bahkan juga bisa untuk membuat game.

Apapun aplikasi yang akan dibuat…

…wajib hukumnya menggunakan data.

Karena itu, kita membutuhkan database.

Nah, pada kesempatan ini. Kita akan belajar menggunakan Python dan database MySQL.

Cara menggunakan apa itu mysql connect?

MySQL adalah salah satu database yang cukup sering digunakan dalam pembuatan web.

Pastikan di komputermu sudah terinstal MySQL server. Bisa menggunakan XAMPP ataupun MySQL Server terpisah.

Baca juga:

  • Persiapan Pemrograman Web di Linux

Baiklah! Mari kita mulai…

1. Instalasi Modul MySQL Connector

Sebelum kita dapat menghubunkan Python dengan MySQL, kita membutuhkan sebuah modul.

Modul ini berisi fungsi-fungsi dan class untuk mengakses MySQL.

Jika kamu pengguna Linux (Ubuntu)…

Silahkan ketik peritah berikut untuk menginstal modul mysql untuk Python.

sudo apt install python3-mysql.connector

atau bisa juga menggunakan pip:

pip3 install mysql-connector

Saya akan menginstalnya menggunakan pip.

Cara menggunakan apa itu mysql connect?

Modul mysql-connector akan di-download dari internet. Tunggulah sampai prosesnya selesai.

Cara menggunakan apa itu mysql connect?

Berikutnya kita akan mencoba membuat koneksi ke MySQL.

2. Percobaan Koneksi ke MySQL

Baiklah, silahkan buat file baru bernama connect.py. Kemudian isi dengan kode berikut.

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin"
)

if db.is_connected():
  print("Berhasil terhubung ke database")

Lalu eksekusi connect.py dengan Python 3.

Maka hasilnya:

Cara menggunakan apa itu mysql connect?

Ini artinya kode program kita berhasil terhubung dengan server MySQL yang berada di localhost.

Baik, saya akan jelaskan sedikit…

Pertama-tama kita membutuhkan modul mysql.connector untuk membuat koneksi ke MySQL.

Kemudian kita membuat koneksi dengan memanggil fungsi connect() dan parameter host, user, dan passwd.

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin"
)

Sebenarnya ada satu lagi parameter, yaitu database untuk menentukan nama database yang akan digunakan.

Oh iya, buat kamu yang menggunakan XAMPP, gunakan parameter seperti ini:

db = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd=""
)

Karena user default di XAMPP adalah root dan di sana biasanya tidak menggunakan password.

Terakhir, kita mengecek status koneksi.

if db.is_connected():
  print("Berhasil terhubung ke database")

Selanjutnya kita akan mencoba membuat database dari program.

3. Membuat Database

Kita sudah berhasil membuat objek db yang akan bertugas sebagai konektor ke MySQL.

Selain objek db, kita membutuhkan satu lagi objek yaitu cursor untuk mengeksekusi perintah SQL atau query. Objek ini berada di dalam objek db.

Sehingga untuk membuat objek cursor kita tinggal buat seperti ini:

Lalu untuk mengeksekusi query, tinggal panggil method execute() dengan parameter string query.

Baiklah, silahkan buat file baru bernama create_db.py. Kemudian isi dengan kode berikut:

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin"
)

cursor = db.cursor()
cursor.execute("CREATE DATABASE toko_mainan")

print("Database berhasil dibuat!")

Setelah itu eksekusi create_db.py dengan Python 3.

Maka hasilnya:

Cara menggunakan apa itu mysql connect?

Berhasil!

Database berhasil dibuat.

Untuk mengecek, coba saja buka Phpmyadmin atau aplikasi MySQL Client lainnya.

Cara menggunakan apa itu mysql connect?

Sangat mudah bukan…

Berikutnya kita akan banyak bekerja dengan objek cursor, jadi saya harap kamu sudah memahami peran objek ini.

4. Membuat Tabel

Cara membuat tabel sama seperti cara membuat database. Kita tinggal masukan perintah SQL atau query ke dalam method execute().

Namun sebelum itu, pastikan kontektor sudah diberikan parameter database untuk menentukan database mana yang akan digunakan.

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)

Pada kode di atas kita memberikan parameter database="toko_mainan". Artinya kita akan mengugnakan database toko_mainan yang baru saja dibuat.

Baik, kalau begitu…

Mari kita lihat dalam program.

Silahkan buat file baru bernama create_table.py, kemudian isi dengan kode berikut.

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)

cursor = db.cursor()
sql = """CREATE TABLE customers (
  customer_id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255),
  address Varchar(255)
)
"""
cursor.execute(sql)

print("Tabel customers berhasil dibuat!")

Setelah itu coba eksekusi…

…maka hasilnya:

Cara menggunakan apa itu mysql connect?

Pada Phpmyadmin, akan terlihat seperti ini:

Cara menggunakan apa itu mysql connect?

Artinya kita sudah berhasil membuat tabel.

5. Insert Data

Setelah membuat tabel, berikutnya kita akan mencoba menambahkan data ke tabel.

Caranya sama, kita tinggal lakukan melalui perintah SQL atau query.

Biaklah, silahkan buat file baru bernama insert_one.py kemudian isi dengan kode berikut:

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)

cursor = db.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Dian", "Mataram")
cursor.execute(sql, val)

db.commit()

print("{} data ditambahkan".format(cursor.rowcount))

Cobalah untuk eksekusi…

Cara menggunakan apa itu mysql connect?

…maka hasilnya:

Cara menggunakan apa itu mysql connect?

Mudah bukan?

Sekarang coba perhatikan kode yang kita gunakan untuk insert data:

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Dian", "Mataram")
cursor.execute(sql, val)

db.commit()

Pada kode tersebut kita menggunakan %s sebagai placeholder untuk value atau data yang akan kita tambahkan.

Mengapa tidak menggunakan seperti ini saja:

name = "Dian"
address = "Mataram"
sql = "INSERT INTO customers (name, address) VALUES ('"+ name +"', '" + address +"')"

Bisa saja seperti itu.

Tapi…

Ini kurang aman, karena bisa terkena SQL injection dan juga kurang rapi.

Terakhir kita harus lakukan db.commit() untuk menyimpan data. Method ini biasanya dipanggil saat insert data, update data, dan hapus data.

Lalu, bagaimana cara menambahkan beberapa data sekaligus?

Kita bisa lakukan dengan perulangan.

Contoh: insert_many.py

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)

cursor = db.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
values = [
  ("Doni", "Jakarta"),
  ("Ella", "Surabaya"),
  ("Fani", "Bandung"),
  ("Galih", "Depok")
]

for val in values:
  cursor.execute(sql, val)
  db.commit()

print("{} data ditambahkan".format(len(values)))

Hasilnya:

Cara menggunakan apa itu mysql connect?

6. Menampilkan Data

Kita dapat menampilkan data dari MySQL dengan query SELECT. Kemudian kita ambil datanya dengan method:

  • fetchall() untuk ambil semua data;
  • fetachmany(10) untuk ambil 10 data;
  • fetchone() untuk mengambil satu data pertama saja.

Methode fetchall(), fetchmany(), dan fetchone() akan mengembalikan sebuah data list yang berisi tuple.

Mari kita coba…

Buatlah file baru bernama select.py kemudia isi dengan kode berikut:

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)

cursor = db.cursor()
sql = "SELECT * FROM customers"
cursor.execute(sql)

results = cursor.fetchall()

for data in results:
  print(data)

Hasilnya:

Cara menggunakan apa itu mysql connect?

Berikutnya kita akan coba mengambil satu data saja dengan method fetchone().

Buatlah file baru bernama select_one.py, kemudian isi dengan kode berikut:

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)

cursor = db.cursor()
sql = "SELECT * FROM customers"
cursor.execute(sql)

result = cursor.fetchone()

print(result)

Hasilnya:

Cara menggunakan apa itu mysql connect?

Nah untuk method fetchmany() kamu bisa coba sendiri, caranya sama seperti fetchall().

7. Update Data

Berikutnya kita akan coba ubah data…

Caranya sama seperti insert data.

Bedanya, kalau update kita harus menggunakan query UPDATE.

Baiklah, silahkan buat file baru bernama update.py. Kemudian isi dengan kode berikut:

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)

cursor = db.cursor()
sql = "UPDATE customers SET name=%s, address=%s WHERE customer_id=%s"
val = ("Ardianta", "Lombok", 1)
cursor.execute(sql, val)

db.commit()

print("{} data diubah".format(cursor.rowcount))

Pada kode program di atas, kita memberikan nilai baru untuk data dengan custemer_id=1.

Maka hasilnya:

Cara menggunakan apa itu mysql connect?
Sebelum di-update
Cara menggunakan apa itu mysql connect?
Setelah di-update

8. Hapus Data

Hapus data sama seperti update data. Kita harus menggunakan query DELETE untuk menghapus dan WHERE untuk menentukan data yang akan dihapus.

Mari kita coba…

Buatlah file baru bernama delete.py, kemudian isi dengan kode berikut:

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)

cursor = db.cursor()
sql = "DELETE FROM customers WHERE customer_id=%s"
val = (1, )
cursor.execute(sql, val)

db.commit()

print("{} data dihapus".format(cursor.rowcount))

Pada kode di atas, saya akan menghapus data dengan custumer_id=1.

Maka hasilnya:

Cara menggunakan apa itu mysql connect?

Data dengan customer_id=1 berhasil dihapus…

9. Aplikasi CRUDS berbasis CLI

CRUDS adalah operasi dasar yang harus dipahami pada pemrograman database.

CRUDS = Create, Read, Update, Delete, dan Search.

Kita sudah mencoba semuanya, kecuali Search.

Sekarang kita akan membuat aplikasi berbasis teks atau CLI yang akan menerapkan CRUDS.

Biklah….

Silahkan buat file baru bernama app_cruds.py, kemudian isi dengan kode berikut:

import mysql.connector
import os

db = mysql.connector.connect(
  host="localhost",
  user="admin",
  passwd="admin",
  database="toko_mainan"
)


def insert_data(db):
  name = input("Masukan nama: ")
  address = input("Masukan alamat: ")
  val = (name, address)
  cursor = db.cursor()
  sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
  cursor.execute(sql, val)
  db.commit()
  print("{} data berhasil disimpan".format(cursor.rowcount))


def show_data(db):
  cursor = db.cursor()
  sql = "SELECT * FROM customers"
  cursor.execute(sql)
  results = cursor.fetchall()
  
  if cursor.rowcount < 0:
    print("Tidak ada data")
  else:
    for data in results:
      print(data)


def update_data(db):
  cursor = db.cursor()
  show_data(db)
  customer_id = input("pilih id customer> ")
  name = input("Nama baru: ")
  address = input("Alamat baru: ")

  sql = "UPDATE customers SET name=%s, address=%s WHERE customer_id=%s"
  val = (name, address, customer_id)
  cursor.execute(sql, val)
  db.commit()
  print("{} data berhasil diubah".format(cursor.rowcount))


def delete_data(db):
  cursor = db.cursor()
  show_data(db)
  customer_id = input("pilih id customer> ")
  sql = "DELETE FROM customers WHERE customer_id=%s"
  val = (customer_id,)
  cursor.execute(sql, val)
  db.commit()
  print("{} data berhasil dihapus".format(cursor.rowcount))


def search_data(db):
  cursor = db.cursor()
  keyword = input("Kata kunci: ")
  sql = "SELECT * FROM customers WHERE name LIKE %s OR address LIKE %s"
  val = ("%{}%".format(keyword), "%{}%".format(keyword))
  cursor.execute(sql, val)
  results = cursor.fetchall()
  
  if cursor.rowcount < 0:
    print("Tidak ada data")
  else:
    for data in results:
      print(data)


def show_menu(db):
  print("=== APLIKASI DATABASE PYTHON ===")
  print("1. Insert Data")
  print("2. Tampilkan Data")
  print("3. Update Data")
  print("4. Hapus Data")
  print("5. Cari Data")
  print("0. Keluar")
  print("------------------")
  menu = input("Pilih menu> ")

  #clear screen
  os.system("clear")

  if menu == "1":
    insert_data(db)
  elif menu == "2":
    show_data(db)
  elif menu == "3":
    update_data(db)
  elif menu == "4":
    delete_data(db)
  elif menu == "5":
    search_data(db)
  elif menu == "0":
    exit()
  else:
    print("Menu salah!")


if __name__ == "__main__":
  while(True):
    show_menu(db)

Hasilnya:

Cara menggunakan apa itu mysql connect?

Source code tutorial ini, dapat kamu download di Github:

[ 🎁 Download Source Code]

Akhir Kata…

Akhirnya selesai juga.

Saya harap kamu paham apa yang saya jelaskan di tutorial ini.

Berikutnya, silahkan pelajari:

  • Baca Tulis File di Python
  • Cara Parsing Data JSON di Python
  • Cara Parsing Data XML di Python
  • Cara Menggunakan Virtualenv untuk Project Python

Selamat belajar!

Apa fungsi dari mysql_connect?

Fungsi mysql_connect() mengembalikan kondisi status koneksi ke dalam variabel $link. Variabel $link akan berisi link koneksi (bertipe resources) jika berhasil terkoneksi dengan MySQL, dan akan bernilai TRUE jika dikonversi menjadi Boolean.

Apa itu MySQL dan apa fungsinya?

Secara umum, MySQL adalah sebuah software yang berfungsi untuk membuat dan mengelola berbagai informasi yang ada pada database di dalam sebuah server dengan bahasa pemrograman SQL. Salah satu penerapan paling umum dari MySQL adalah sebagai database untuk sebuah website atau aplikasi.

Bagaimana cara kerja dari MySQL?

Bagaimana Cara Kerja MySQL?.
MySQL membuat database untuk menyimpan dan memanipulasi data, serta menentukan keterkaitan antara masing-masing tabel..
Client membuat permintaan (request) dengan mengetikkan pernyataan SQL yang spesifik di MySQL..
Aplikasi server akan merespons dengan memberikan informasi yang diminta..

Bagaimana cara menghubungkan database MySQL dengan PHP?

Empat langkah menggunakan MySQLi untuk membuat koneksi database PHP ke MySQL: Buka File Manager -> public_html. Buat File Baru dengan mengklik ikon tambah file pada menu di atas layar. Simpan dengan nama databaseconnect.php, atau nama lain yang Anda inginkan, tapi ekstensinya tetap .