• 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之间的数字')
    
    
    

  • 相关阅读:
    *args, **kwargs
    python format函数
    python自省
    生成器与迭代器
    python面试题
    xpath和gzip
    python正则表达式
    cookie
    random
    杭电1710 (已知二叉树前中序 求后序)
  • 原文地址:https://www.cnblogs.com/fanlei5458/p/9235494.html
Copyright © 2020-2023  润新知