Python进行数据库操作自己写的一个类,不喜勿喷
- 因为长期调用远程数据库问题,在这里自制了一个操作数据库的代码方便以后使用调试。
奉上代码
import pymysql
class MySql(object):
def __init__(self,password,database,sql_line,host="localhost",port=3306,user="root"):
self.host = host
self.port = port
self.user = user
self.password = password
self.database = database
self.sql_set = sql_line
self.conn = pymysql.connect(
host=self.host,
port=self.port,
user=self.user,
password=self.password,
database=self.database,
charset="utf8"
)
self.cursor = self.conn.cursor()
def create(self):
try:
if len(self.sql_set) == 2:
self.sql = "create table {}({});".format(self.sql_set[0],self.sql_set[1])
else:
return "参数错误,请检查"
self.cursor.execute(self.sql)
return "添加成功"
except Exception as err:
self.conn.rollback()
return "添加错误:{}".format(err)
finally:
self.close()
def insert(self):
try:
if len(self.sql_set) >= 2:
self.sql = 'insert into {} value ("{}")'.format(self.sql_set[0],self.sql_set[1])
print(self.sql)
else:
return "参数错误,请检查"
self.cursor.execute(self.sql)
self.conn.commit()
return "插入成功"
except Exception as err:
self.conn.rollback()
return "插入错误:{}".format(err)
finally:
self.close()
def select(self):
try:
self.sql = self.sql_set
self.cursor.execute(self.sql)
results = self.cursor.fetchall()
return results
except Exception as err:
self.conn.rollback()
return "查询错误::{}".format(err)
finally:
self.close()
def update(self):
try:
if len(self.sql_set) == 2:
self.sql = "update {} set {}".format(self.sql_set[0],self.sql_set[1])
elif len(self.sql_set) == 3:
self.sql = "update {} set {} where {}".format(self.sql_set[0],self.sql_set[1],self.sql_set[2])
else:
return "参数错误,请检查"
self.cursor.execute(self.sql)
self.conn.commit()
return "更新成功"
except Exception as err:
self.conn.rollback()
return "更新失败:{}".format(err)
finally:
self.close()
def delete(self):
try:
if len(self.sql_set) == 1:
self.sql = "delete from {}".format(self.sql_set[0])
elif len(self.sql_set) == 2:
self.sql = "delete from {} where {}".format(self.sql_set[0],self.sql_set[1])
else:
return "参数错误,请检查"
self.cursor.execute(self.sql)
self.conn.commit()
return "删除成功"
except Exception as err:
self.conn.rollback()
return "删除失败::{}".format(err)
finally:
self.close()
def delete_table(self):
try:
if len(self.sql_set) == 1:
self.sql = "drop table {}".format(self.sql_set[0])
else:
return "参数错误,请检查"
self.cursor.execute(self.sql)
self.conn.commit()
return "删除成功"
except Exception as err:
self.conn.rollback()
return "删除失败::{}".format(err)
finally:
self.close()
def close(self):
cursor.close()
conn.close()
#db_create = MySql("123456","mysql",("example","example varchar(20)"))
#print(db_create.create())
#db_insert = MySql("123456","mysql",("example","example"))
#print(db_insert.insert())
#db_update = MySql("123456","mysql",("example",'example="example"'))
#print(db_update.update())
#db_select = MySql("123456","mysql","select * from db")
#print(db_select.select())
#db_delete = MySql("123456","mysql",("example",))
#print(db_delete.delete())
#db_delete_table = MySql("123456","mysql",("example",))
#print(db_delete_table.delete_table())
谢谢各位观看