python与mysql交互

python与mysql交互,该代码主要是把sql语句提取出来了,便于扩展,适合新手看看

import pymysql

dict_data = dict()


def outer_0(choose_method):
    """将所有要执行的代码用装饰器封装"""
    def inner_0(fun):
        def wrapped_0():
            conn = pymysql.connect(
                host='localhost', user='root',
                database='jing_dong', passwd='mysql',
                charset='utf8', port=3306
            )
            cur = conn.cursor()
            print('*' * 50)
            data, pa = fun()
            cur.execute(data, pa)
            for temp in cur.fetchall():
                print(temp)
            conn.commit()
            cur.close()
            conn.close()
            return None
        dict_data[choose_method] = wrapped_0
        return wrapped_0
    return inner_0


@outer_0('1')
def check_data():
    return """ select * from goods; """, None


@outer_0('2')
def check_data():
    return """ select * from goods_cate; """,None


@outer_0('3')
def check_data():
    return """ select * from goods_band; """,None


@outer_0('4')
def update_data():
    id = input('输入要查询的id:')
    return """ select * from goods where id=%s""", id


@outer_0('5')
def update_data():
    # 未完成
    id = input('输入要查询的名字:')
    return """ select * from goods where name='%%s%'""",id


@outer_0('7')
def del_data():
    id = input('输入要删除商品的id:')
    return """delete from goods where id= %s""", id

def print_hint():
    """打印提示"""
    print('1:查询所有商品信息')
    print('2:查询所有商品的种类信息')
    print('3:查询所有商品的品牌信息')
    print('4:根据id查询商品信息')
    print('5:根据名字查询商品信息')
    print('6:添加商品一件商品')
    print('7:删除一件商品')
    print('0:退出')
# check_data()

if __name__ == '__main__':
    while True:
        print_hint()
        name = input("输入要执行的操作编号:")
        if name is '0':
            break
        try:
            dict_data[name]()
        except Exception as ret:
            print(ret)
            print('输入有误,请输入0~6之间的数字')



原文地址:https://www.cnblogs.com/fanlei5458/p/9235494.html