"""contoh.py — tiga pola dasar akses MySQL dari Python dengan PyMySQL.

Cara menjalankan dari folder chapter:
    python3 contoh.py

Koneksi memakai port 3306 secara default; timpa lewat variabel
lingkungan DB_PORT bila server MySQL Anda berjalan di port lain:
    DB_PORT=3307 python3 contoh.py
"""

import os

import pymysql

port = int(os.environ.get("DB_PORT", "3306"))

with pymysql.connect(
    host="127.0.0.1",
    user="root",
    password="",
    database="belajar_app",
    port=port,
) as koneksi:
    with koneksi.cursor() as kursor:
        kursor.execute("SELECT id, nama, harga FROM produk ORDER BY id")
        print("Daftar produk:")
        for id_produk, nama, harga in kursor.fetchall():
            print(f"  {id_produk} | {nama} | {harga}")

    with koneksi.cursor() as kursor:
        kursor.execute(
            "SELECT id, nama FROM produk WHERE harga < %s ORDER BY id",
            (40000,),
        )
        print("Produk di bawah 40000:")
        for id_produk, nama in kursor.fetchall():
            print(f"  {id_produk} | {nama}")

print("Koneksi ditutup.")
