本节课继续来实现这个数据库连接类,对于新手来说,这个足够用了。
第四个函数:查询select
这个函数要传入俩个参数,为要执行的sql命令和查询值。
然后通过对象cur 的execute命令来把完整的命令上传给数据库服务器。
然后再用result来接收fetchall函数的执行的结果,注意,结果多半为二维元组,因为数据库本身就是个二维表,每一个单元格都有横纵坐标。
最后成功返回这个result。
第五个函数:增删改等语句函数ida(insert,delete,alert),这种语句为什么要单独拿出来写,而不和查询select写到一起,就是因这三种情况,是不需要获取返回值的。只需要执行成功还是失败即可。
到此,这个简易版的数据库操作类就写完了,全部可复制代码如下:
from Myapp.models import * import pymysql class SQLDB(object): def __init__(self,db_id): db_data = DB_db.objects.filter(id=int(db_id))[0] self.host = db_data.host self.port = db_data.port self.username = db_data.username self.password = db_data.password def connect(self, sql_db): try: self.conn = pymysql.connect(host=self.host,port=self.post,user=self.username,password=self.password) except: return False self.cur = self.conn.cursor() return True def close(self): try:self.cur.close() except:pass try:self.conn.close() except:pass def select(self,sql_bin,sql_params): self.cur.execute(sql_bin, sql_params) result = self.cur.fetchall() return result def ida(self,sql_bin,sql_params): try: self.cur.execute(sql_bin, sql_params) self.conn.commit() return True except: return False
本节课到此结束!