parent
3515a347db
commit
00ca5e0b28
@ -0,0 +1,115 @@
|
||||
import pymysql
|
||||
def generate_insert_sql(table_name, data):
|
||||
# 构建字段列表和值列表
|
||||
fields = ', '.join(data.keys())
|
||||
values = ', '.join(['%s'] * len(data))
|
||||
|
||||
# 构建SQL语句
|
||||
sql = "INSERT INTO {} ({}) VALUES ({})".format(table_name, fields, values)
|
||||
|
||||
# 构建值列表
|
||||
val = tuple(data.values())
|
||||
|
||||
return sql, val
|
||||
|
||||
class sqlclass():
|
||||
def __init__(self,host:str,port:int,user:str,passwd:str,db:str):
|
||||
self.host = host
|
||||
self.port = port
|
||||
self.user = user
|
||||
self.passwd = passwd
|
||||
self.db = db
|
||||
def sql_connect(self):
|
||||
# 数据库连接操作
|
||||
self.conn = pymysql.connect(host=self.host,port=self.port,user=self.user,passwd=self.passwd,db=self.db)
|
||||
def sql_insert(self,table_name,data):
|
||||
# 插入数据接口
|
||||
self.sql_connect()
|
||||
try:
|
||||
insert_sql,val = generate_insert_sql(table_name,data)
|
||||
cur = self.conn.cursor()
|
||||
cur.execute(insert_sql, val)
|
||||
self.conn.commit()
|
||||
except pymysql.Error as error:
|
||||
print("插入数据失败"+str(error))
|
||||
self.conn.rollback()
|
||||
return -1
|
||||
finally:
|
||||
self.conn.close()
|
||||
return 1
|
||||
def sql_query(self,table_name,condition=None):
|
||||
# 构建SELECT语句
|
||||
sql = "SELECT * FROM {}".format(table_name)
|
||||
# 添加条件语句
|
||||
if condition:
|
||||
sql += " WHERE {}".format(condition)
|
||||
self.sql_connect()
|
||||
try:
|
||||
cur = self.conn.cursor()
|
||||
cur.execute(sql)
|
||||
results = cur.fetchall()
|
||||
return results
|
||||
except pymysql.Error as error:
|
||||
print("查询失败"+str(error))
|
||||
return -1
|
||||
finally:
|
||||
self.conn.close()
|
||||
def sql_del(self,table_name,condition=None):
|
||||
# 构建SELECT语句
|
||||
sql = "DELETE FROM {}".format(table_name)
|
||||
# 添加条件语句
|
||||
if condition:
|
||||
sql += " WHERE {}".format(condition)
|
||||
self.sql_connect()
|
||||
try:
|
||||
cur = self.conn.cursor()
|
||||
cur.execute(sql)
|
||||
self.conn.commit()
|
||||
# results = cur.fetchall()
|
||||
# return results
|
||||
except pymysql.Error as error:
|
||||
print("删除数据失败"+str(error))
|
||||
self.conn.rollback()
|
||||
return -1
|
||||
finally:
|
||||
self.conn.close()
|
||||
return 1
|
||||
def sql_up(self,table_name,new_values,condition):
|
||||
# 构建sql语句
|
||||
sql = f"UPDATE {table_name} SET "
|
||||
# 构造 SET 子句
|
||||
set_clause = ", ".join([f"{key} = %s" for key in new_values.keys()])
|
||||
sql += set_clause
|
||||
sql += " WHERE {}".format(condition)
|
||||
# 构建值列表
|
||||
val = tuple(new_values.values())
|
||||
# 连接数据库
|
||||
self.sql_connect()
|
||||
# 创建游标
|
||||
try:
|
||||
cur = self.conn.cursor()
|
||||
aa =cur.execute(sql, val)
|
||||
# 提交事务
|
||||
self.conn.commit()
|
||||
if aa < 1:
|
||||
return -1
|
||||
return 1
|
||||
except pymysql.Error as error:
|
||||
print("更新数据失败"+str(error))
|
||||
self.conn.rollback()
|
||||
return -1
|
||||
finally:
|
||||
self.conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
sql = sqlclass('localhost',3306,'root','2363305350','python_cs')
|
||||
# sql.sql_insert('T_user',{'user_account':'admin','user_pass':'admin','user_aut':0})
|
||||
# sql.sql_up('T_user',{'user_pass':'123456','user_account':'123456'},f"user_id=1")
|
||||
# sql.sql_query('123')
|
||||
# data = sql.sql_query('t_commode')
|
||||
rest = sql.sql_query('t_commode',f"commod_name='苹果'")
|
||||
|
||||
print(('id','类别','名称','品牌','产地','数量','进价','售价'))
|
||||
# for i in data:
|
||||
# print(i)
|
||||
# print(data)
|
Loading…
Reference in new issue