{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "d51df84c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Koneksi ke database belajar_alquran berhasil.\n"
     ]
    }
   ],
   "source": [
    "import mysql.connector\n",
    "\n",
    "# Koneksi ke MySQL\n",
    "conn = mysql.connector.connect(\n",
    "    host='localhost',        # Ganti sesuai host MySQL Anda\n",
    "    user='root',             # Ganti sesuai user MySQL Anda\n",
    "    password='1',     # Ganti sesuai password MySQL Anda\n",
    "    database='belajar_alquran'\n",
    ")\n",
    "\n",
    "cursor = conn.cursor()\n",
    "print(\"Koneksi ke database belajar_alquran berhasil.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "9d71c98f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fields: ['id', 'arabic', 'latin', 'transliteration', 'translation', 'num_ayah', 'page', 'location', 'updated_at']\n"
     ]
    }
   ],
   "source": [
    "import json\n",
    "\n",
    "# Load quran.json\n",
    "with open('quran.json', 'r', encoding='utf-8') as f:\n",
    "    quran_data = json.load(f)\n",
    "\n",
    "# Mengetahui isi fields dari data pertama\n",
    "fields = list(quran_data['data'][0].keys())\n",
    "print(\"Fields:\", fields)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "9c7ab9cb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Tabel m_quran berhasil dibuat.\n"
     ]
    }
   ],
   "source": [
    "# Membuat query CREATE TABLE berdasarkan fields dari file json\n",
    "fields_definition = ', '.join([f\"{field} VARCHAR(255)\" if field != 'id' else \"id INT PRIMARY KEY\" for field in fields])\n",
    "create_table_query = f\"\"\"\n",
    "CREATE TABLE IF NOT EXISTS m_quran (\n",
    "    {fields_definition}\n",
    ")\n",
    "\"\"\"\n",
    "\n",
    "cursor.execute(create_table_query)\n",
    "conn.commit()\n",
    "print(\"Tabel m_quran berhasil dibuat.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "dabc923b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Data berhasil dimasukkan ke tabel m_quran.\n"
     ]
    }
   ],
   "source": [
    "# Memasukkan data dari quran.json ke tabel m_quran\n",
    "for item in quran_data['data']:\n",
    "    values = [item.get(field) for field in fields]\n",
    "    placeholders = ', '.join(['%s'] * len(fields))\n",
    "    insert_query = f\"INSERT INTO m_quran ({', '.join(fields)}) VALUES ({placeholders})\"\n",
    "    cursor.execute(insert_query, values)\n",
    "\n",
    "conn.commit()\n",
    "print(\"Data berhasil dimasukkan ke tabel m_quran.\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
