Praktikum Database
Tuesday, 16 May 2023
Sebelum kita dapat menghubunkan Python dengan MySQL, kita membutuhkan sebuah modul.
Modul ini berisi fungsi-fungsi dan class untuk mengakses MySQL.
Masukan kode:
pip3 install mysql-connector
di Terminal, bisa terminal VScode atau terminal. Dan akan terlihat seperti ini jika berhasil.
2. Koneksi ke Database
Buat file baru Bernama connect.py, lalu masukkan program berikut:
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="admin",
passwd="123"
)
if db.is_connected():
print("Berhasil terhubung ke database")
karena kita menggunakan XAMPP, maka ganti parameter dari Database nya sesuai defaultnya.
host="localhost",
user="root",
passwd=""
jadi, outputnya akan jadi seperti yang di print jika tidak ada error
3. Membuat Database
Buat File baru dengan nama created.py lalu masukan program:
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
passwd=""
)
cursor = db.cursor()
cursor.execute("CREATE DATABASE toko_mainan")
Jika Outpunya sudah sesuai. Maka silahkan cek Databasenya di phpMyAdmin. Jika sudah ada,
maka bisa dilanjut Langkah selanjutnya, yaitu membuat table didalamnya.
4. Membuat Tabel
Langsung saja kita masukan Codenya :
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
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)
Beginilah penampakannya:
5. Insert Data
Buat File Insertone.py ,untuk menambahkan satu baris data
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="toko_mainan"
)
cursor = db.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Dian", "Mataram")
cursor.execute(sql, val)
db.commit()
Selanjutnya kita juga bisa menambah data secara jamaah, silahkan buat file baru bernama
insertmany.py , lalu isi dengan program :
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="toko_mainan"
)
cursor = db.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
values = [
("Doni", "Jakarta"),
("Ella", "Surabaya"),
("Fani", "Bandung"),
("Galih", "Depok")
]
OK, mari coba ambil satu. Buat File baru dengan nama Selectone.py ,lalu masukan program:
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="toko_mainan"
)
cursor = db.cursor()
sql = "SELECT * FROM customers"
cursor.execute(sql)
result = cursor.fetchone()
print(result)
Hasil:
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="root",
passwd="",
database="toko_mainan"
)
cursor = db.cursor()
sql = "UPDATE customers SET name=%s, address=%s WHERE customer_id=%s"
val = ("Sasuke", "Konoha", 1)
cursor.execute(sql, val)
db.commit()
disana, kita ubah pada kolom satu menjadi Bernama Sasuke dan beralamat Konoha. Outputnya:
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="root",
passwd="",
database="toko_mainan"
)
cursor = db.cursor()
sql = "DELETE FROM customers WHERE customer_id=%s"
val = (1, )
cursor.execute(sql, val)
db.commit()
Outputnya:
Bagian kiri untuk kolom, kanan untuk baris. Dengan program diatas maka Di databasenya
terpantau, kolom satu telah hilang.
Baiklah, 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="root",
passwd="",
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: ")
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)
Output :