zoukankan      html  css  js  c++  java
  • Python 增删改查

    from pymysql import cursors
    from tools.config import config
    import random,string
    
    def createDatabase():
        db = config.db
        cur = db.cursor(cursor=cursors.DictCursor)
        cur.execute("drop database if EXISTS  py_test")
        cur.execute("create database py_test")
        cur.close()
        config.connect.close()
        print("已创建数据库py_test")
    
    def createTbale():
        db = config.db
        cur = db.cursor(cursor=cursors.DictCursor)
        sql = '''CREATE TABLE IF NOT EXISTS ty_test_info(
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(45) NOT NULL,
        age VARCHAR(45) NULL
        )
        '''
        cur.execute(sql)
        print("已创建表fy_test")
    
    
    def insertData(db,cursor,tablename,*key,**kwargs):
        # *key返回的是元组(),**返回的是字典
        values = []
        for value in kwargs.values():
            values.append(value)
        print(tuple(values))
        sql = 'insert into {} {}'.format(tablename,key).replace("'","")+' VALUES {}'.format(tuple(values))
        print(sql)
        try:
            cursor.execute(sql)
            db.commit()
            print("成功添加数据")
            print("插入数据的ID:",cursor.lastrowid)
        except Exception as e:
            print(e)
            # 发生错误时候回滚
            db.rollback()
    
    
    
    def deleteRecord(db,cursor,table,key,value):
        sql = 'delete from {} where {} = {}'.format(table,key,value)
        cursor.exectue(sql)
        db.commit()
        print("成功删除%d条数据" %cursor.rowcount)
    
    
    def updateRecord(db,cursor,table,key1,value1,key2,value2):
        sql = 'update {} set{}="{}" where {} = "{}"'.format(table,key2,value2,key1,value1)
        cursor.exectue(sql)
        db.commit()
        print("成功修改%d条数据" %cursor.rowcount)
    
    # 查询这张表的所有数据
    def findRecord(cursor,table):
        sql = 'select * from {}'.format(table)
        num = cursor.exectue(sql)
        result = cursor.fetchall()
        print("查找到%d条数据" %num)
        for row in result:
            print(row[0],row[1],row[2])
    
        return result
    
    # 有条件的查询语句
    def findRecord_where(cursor,table,key,value):
        sql = 'select * from {} where {} = {}'.format(table,key,value)
        num = cursor.execute(sql)
        result = cursor.fetchall()
        print("查找到%d条数据" %num)
        if num > 0:
            return result
        else:
            pass
    
    
    # 有条件的模糊查询语句
    def findRecord_like(cursor,table,key,value):
        sql = 'select * from {} where {} like  "%%{}%%"'.format(table,key,value)
        print(sql)
        num = cursor.execute(sql)
        result = cursor.fetchall()
        print("查找到%d条数据" %num)
        if num > 0:
            return result
        else:
            pass
    
    # 在一段时间范围内查找数据
    def findRecord_between(cursor,table,key,value,value2):
        sql = 'select * from {} where {} BETWEEN "{}" AND "{}"'.format(table,key,value,value2)
        print(sql)
        num = cursor.execute(sql)
        result = cursor.fetchall()
        print("查找到%d条数据" %num)
        if num > 0:
            return result
        else:
            pass
    # createTbale()
    db = config.db
    cur = db.cursor(cursor=cursors.DictCursor)
    # for i in range(0,99):
    #     name = 'wangquntest_'.join(random.sample(string.ascii_letters+string.digits+string.punctuation,3))
    #     age =random.randint(20,99)
    #     insertData(db,cur,"ty_test_info","name","age",name = name,age = age)
    findRecord_like(cur,"t_staff_info","account","1870465468")
    findRecord_between(cur,"t_staff_info","create_time","2019-01-01","2019-12-01")
    cur.close()
    db.close()
  • 相关阅读:
    显示磁盘信息
    给VG增加磁盘,给文件目录增加空间
    第8.11节 Python类中记录实例变量属性的特殊变量__dict__
    Python中format_map与format字符串格式化的区别
    生成器函数与函数的区别
    什么是Python生成器?与迭代器的关系是什么?
    第8.10节 使用__class__查看Python中实例对应的类
    Python运算符的优先级是怎样的?
    Python怎么控制将一个整数输出成指定长的十六进制数?
    Python中函数的参数带星号是什么意思?
  • 原文地址:https://www.cnblogs.com/wangxiaoqun/p/12345506.html
Copyright © 2011-2022 走看看