我是靠谱客的博主 单纯汽车,这篇文章主要介绍用python完成对Mysql数据库的封装,现在分享给大家,希望可以做个参考。

   对数据库的操作如果需要大量的信息录入的时候,便会消耗大量的时间和精力。那么在完成与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模块:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#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.

对编辑好的封装模块对其连接相应的数据库进行操作。
复制代码
1
2
3
4
5
6
7
8
9
10
11
对数据库进行操作: 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数据库内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部