本节课继续来实现这个数据库连接类,对于新手来说,这个足够用了。
第四个函数:查询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
本节课到此结束!