#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json, pymysql cfg = json.load(open('db_config.json')) conn = pymysql.connect(host=cfg['host'], port=cfg['port'], user=cfg['user'], password=str(cfg['password']), database=cfg['database'], charset='utf8mb4') cur = conn.cursor() # 别名池 variants = ['佳艳','家艳','佳雁','桂艳','嘉艳'] cards = '%%'.join(['%' + v + '%' for v in variants]) # not used; do per-variant like = ' OR '.join(['note LIKE %s OR source LIKE %s OR category LIKE %s']*len(variants)) params = [] for v in variants: params += [f'%{v}%']*3 # family members print('===== 家庭成员 =====') cur.execute("SELECT id,name,role,is_active FROM family_members") for r in cur.fetchall(): print(' ',r) def show(table, where, extra): pass # 支出(转给佳艳) print() print('===== variable_expenses(支出转给佳艳) =====') q = f"SELECT id,member_id,recorded_date,amount,category,note FROM variable_expenses WHERE ({like})" cur.execute(q, params) for r in cur.fetchall(): print(' ', r) print() print('===== income_records(从佳艳收到的收入) =====') q = f"SELECT id,member_id,recorded_date,amount,source,frequency,note FROM income_records WHERE ({like}) OR source LIKE '%佳艳%'" cur.execute(q, params) for r in cur.fetchall(): print(' ', r) print() print('===== fixed_expenses(固定支出涉及佳艳,如定期转款/代付) =====') q = f"SELECT id,member_id,category,amount,frequency,note FROM fixed_expenses WHERE ({like})" cur.execute(q, params) for r in cur.fetchall(): print(' ', r) conn.close()