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()