pythonexecquery_python操作mysql数据库

# 数据库操作

import pymysql

class mysqlHelper(object):

def __init__(self, host, user, pw, db):

"""连接数据库,创建游标"""

# self.conn = pymysql.connect(host='localhost', user='root', password='111212', database='students')

self.host, self.user, self.pw, self.db = host, user, pw, db

# 定制游标 拿出数据成字典

# self.cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)

def __GetConnect(self):

if not self.db:

raise (NameError, "没有数据库信息")

self.conn = pymysql.connect(host=self.host, user=self.user, password=self.pw, database=self.db)

cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)# 定制游标 拿出数据成字典 默认元组方式拿出数据

if not cursor:

raise (NameError, "数据库连接失败")

else:

return cursor

def ExecQueryALL(self, sql, args=()): # sql即SQL语句,args为SQL所需参数

cursor = self.__GetConnect()

result = cursor.execute(sql, args)

gdata = cursor.fetchall() # 获取所有符合sql select语句的值

cursor.close() # 关闭游标

self.conn.close() # 关闭连接

return [result, gdata]

def ExecQueryOne(self, sql, args=()):

cursor = self.__GetConnect()

result = cursor.execute(sql, args)

gdata = cursor.fetchone() # 获取一个符合sql select语句的值

cursor.close()

self.conn.close()

return [result, gdata]

def ExecNonQueryMany(self, sql, args=()):

cursor = self.__GetConnect()

result = cursor.executemany(sql, args)

self.conn.commit() # update、delete、insert into 多条提交

lastmod = cursor.lastrowid # 获取最新插入数据的自增值

cursor.close()

self.conn.close()

return [result, lastmod]

def ExecNonQueryOne(self, sql, args=()):

cursor = self.__GetConnect()

result = cursor.execute(sql, args)

self.conn.commit() # update、delete、insert into 单挑提交

lastrowid = cursor.lastrowid # 获取最新插入数据的自增值

cursor.close()

self.conn.close()

return [result, lastrowid]

调用:

mysqlop = mysqlHelper("localhost","root","111212","students")

getplanName = mysqlop.ExecQueryOne(sql='select planName from taskplan where planName=%s limit 1',args=(tasklist[0]['planName']))

print(getplanName)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值