{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    " # TODO:连接数据库\n",
    "import pymysql\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "# 打开数据库连接\n",
    "db = pymysql.connect(host='localhost',\n",
    "                     user='root',\n",
    "                     password='root',\n",
    "                     db='test_db',\n",
    "                     charset='utf8mb4',\n",
    "                     cursorclass=pymysql.cursors.DictCursor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>applicant</th>\n",
       "      <th>status</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20000001</td>\n",
       "      <td>REPAID</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20000001</td>\n",
       "      <td>REPAID</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20000001</td>\n",
       "      <td>REPAID</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>20000002</td>\n",
       "      <td>RETURNING</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20000002</td>\n",
       "      <td>IN_PROGREESS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>20000002</td>\n",
       "      <td>REPAID</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>20000003</td>\n",
       "      <td>REPAID</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>20000003</td>\n",
       "      <td>IN_PROGREESS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>20000004</td>\n",
       "      <td>IN_PROGREESS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>20000004</td>\n",
       "      <td>REPAID</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   applicant        status\n",
       "0   20000001        REPAID\n",
       "1   20000001        REPAID\n",
       "2   20000001        REPAID\n",
       "3   20000002     RETURNING\n",
       "4   20000002  IN_PROGREESS\n",
       "5   20000002        REPAID\n",
       "6   20000003        REPAID\n",
       "7   20000003  IN_PROGREESS\n",
       "8   20000004  IN_PROGREESS\n",
       "9   20000004        REPAID"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#  # 查询person表\n",
    "# person_sql =\n",
    "# person_detail=pd.read_sql(sql=person_sql,con=db)\n",
    "\n",
    "# 查询apply表\n",
    "apply_sql = 'select applicant, status from apply limit 10'\n",
    "apply_detail = pd.read_sql(sql=apply_sql, con=db)\n",
    "apply_detail\n",
    "\n",
    "\n",
    "\n",
    "# # 查询call表\n",
    "# call_sql =\n",
    "# call_detail=pd.read_sql(sql=call_sql,con=db)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " ## 任务1:查询某个用户是否有处于OVERDUE状态的进件\n",
    " 方法1: 通过代码查询 <br> 方法2: 通过sql语句查询"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "ename": "IndentationError",
     "evalue": "unexpected indent (<ipython-input-21-fe8ee5f1b5a0>, line 6)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;36m  File \u001b[0;32m\"<ipython-input-21-fe8ee5f1b5a0>\"\u001b[0;36m, line \u001b[0;32m6\u001b[0m\n\u001b[0;31m    for p in apply_list:\u001b[0m\n\u001b[0m    ^\u001b[0m\n\u001b[0;31mIndentationError\u001b[0m\u001b[0;31m:\u001b[0m unexpected indent\n"
     ]
    }
   ],
   "source": [
    "# 获取当前借款人是否有OVERDUE状态的进件(通过代码实现)\n",
    "def get_od_apply(person_id):\n",
    "    # 通过apply_detail拿到'applicant','status'两列的值\n",
    "   \n",
    "    apply_list = apply_detail\n",
    "        for p in apply_list:\n",
    "            if p == persion_id:\n",
    "                print(app_list[p])\n",
    "    # 遍历apply_list,找到person_id,如果有OVERDUE状态进件则返回True,否则返回False\n",
    "\n",
    "print(get_od_apply(20000001))    # False\n",
    "# print(get_od_apply(20000035))    # True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}