概述
对数据库的操作如果需要大量的信息录入的时候,便会消耗大量的时间和精力。那么在完成与python的交互后,利用Python的编程完成对Mysql数据库的封装,以使得可以在py程序中完成对数据库的操作,将会大大减少冗杂的操作,提高效率。
完成对Mysql数据库的封装需要了解以下知识:
connection对象:用于建立与数据库的连接
创建对象:调用connect()方法
conn=connect(参数列表)
参数host:连接的mysql主机,如果本机是'localhost'
参数port:连接的mysql主机的端口,默认是3306
参数db:数据库的名称
参数user:连接的用户名
参数passwd:连接的密码
参数charset:通信采用的编码方式,要求与数据库创建时指定的编码一致,否则中文会乱码
对象的方法
close()关闭
execute(operation [, parameters ])执行语句,返回受影响的行数
fetchone()执行查询语句时,获取查询结果集的第一个行数据,返回一个元组
next()执行查询语句时,获取当前行的下一行
fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回
scroll(value[,mode])将行指针移动到某个位置
mode表示移动的方式
mode的默认值为relative,表示基于当前行移动到value,value为正则向下移动,value为负则向上移动
mode的值为absolute,表示基于第一条数据的位置,第一条数据的位置为0
对象的属性
rowcount只读属性,表示最近一次execute()执行后受影响的行数
connection获得当前连接对象
在了解以上知识后,就可以使用Python编辑器进行封装操作了。
编辑封装的py模块:
#coding=utf8
from MYSQLdb import *
class MysqlHelper:
def __init__(self,host,port,db,user,passwd,charset='utf8'):#接收要进行操作的数据库的信息
self.host=host
self.port=port
self.db=db
self.user=user
self.passwd=passwd
self.charset=charset
def open(self):#数据库的打开操作
self.conn=connect(host=self.root,port=self.port,db=self.db,user=self.user,
passwd=self.passwd)
self.cursor=self.conn.cursor()
def close(self):#数据库的关闭操作
self.cursor.close()
self.conn.close()
def cud(self,sql):#数据库的增删改操作
try:
self.open()
self.cursor.execute(sql,params)
self.comm.commit()
self.close()
print ('OK')
except Exception,e:
print(e.message)
def all(self,sql,params=()):#数据库的查找操作
try:
self.open()
self.cursor.execute(sql,params)
result=self.cursor.fetchall()
return sesult
except Exception,e:
print(e.message)
这里需要补充的是里面的params是传递的参数,将传递的信息给参数化。
下面给个例子:
sname=raw_input("请输入学生姓名:")
params=[sname] 引用接收一个列表信息
count=cs1.execute('insert into students(sname) values(%s)',params)此处的%s不是格式化,它只是个占位符,无论内容的是什么类型都用%s.
对编辑好的封装模块对其连接相应的数据库进行操作。对数据库进行操作:
from py import MysqlHelper
name=raw_input("请输入学生姓名")
id1=raw_input("请输入学生编号")
sql='update students set name=%s where id=%s' (增加修改和删除操作是一样的,使用同一个cud方法)
sql.'select id,name from students where id<5'查询操作 用的是all方法
params=[name,id1]
sqlhelper=MysqlHelper('localhost',3306,'python3','root','mysql')
sqlhelper.cud(sql,params)
result=sqlhelper.all(sql)
print(result)
这样就完成了对数据库的封装。可以大大提高对数据库操作的速度和效率。
最后
以上就是单纯汽车为你收集整理的用python完成对Mysql数据库的封装的全部内容,希望文章能够帮你解决用python完成对Mysql数据库的封装所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复