Python操作Access数据库基本步骤分析


Posted in Python onSeptember 19, 2016

本文实例分析了Python操作Access数据库基本步骤。分享给大家供大家参考,具体如下:

Python编程语言的出现,带给开发人员非常大的好处。我们可以利用这样一款功能强大的面向对象开源语言来轻松的实现许多特定功能需求。比如Python操作Access数据库的功能实现等等。在Python操作Access数据库之前,首先,你应安装了Python和Python for Windows extensions。

步骤之1、建立数据库连接

import win32com.client
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'
conn.Open(DSN)

步骤之2、打开一个记录集

rs = win32com.client.Dispatch(r'ADODB.Recordset')
rs_name = 'MyRecordset'#表名
rs.Open('[' + rs_name + ']', conn, 1, 3)

步骤之3、对记录集操作

rs.AddNew()
rs.Fields.Item(1).Value = 'data'
rs.Update()

步骤之4、用SQL来插入或更新数据

conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'
sql_statement = "Insert INTO [Table_Name] ([Field_1],
[Field_2]) VALUES ('data1', 'data2')"
conn.Open(DSN)
conn.Execute(sql_statement)
conn.Close()

步骤之5、遍历记录

rs.MoveFirst()
count = 0
while 1:
if rs.EOF:
break
else:
countcount = count + 1
rs.MoveNext()

注意:如果一个记录是空的,那么将指针移动到第一个记录将导致一个错误,因为此时recordcount是无效的。解决的方法是:打开一个记录集之前,先将Cursorlocation设置为3,然后再打开记录集,此时recordcount将是有效的。例如:

rs.Cursorlocation = 3 # don't use parenthesis here
rs.Open('Select * FROM [Table_Name]', conn) # be sure conn is open
rs.RecordCount # no parenthesis here either

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python3对拉勾数据进行可视化分析的方法详解
Apr 03 Python
Python基本数据结构之字典类型dict用法分析
Jun 08 Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 Python
Python Django Cookie 简单用法解析
Aug 13 Python
Python字典添加,删除,查询等相关操作方法详解
Feb 07 Python
python字符串下标与切片及使用方法
Feb 13 Python
python+Selenium自动化测试——输入,点击操作
Mar 06 Python
基于Tensorflow的MNIST手写数字识别分类
Jun 17 Python
Python基于httpx模块实现发送请求
Jul 07 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
Sep 03 Python
解决numpy数组互换两行及赋值的问题
Apr 17 Python
Python自定义主从分布式架构实例分析
Sep 19 #Python
Python实现网络端口转发和重定向的方法
Sep 19 #Python
Python中__init__.py文件的作用详解
Sep 18 #Python
Python简单遍历字典及删除元素的方法
Sep 18 #Python
Python实现压缩与解压gzip大文件的方法
Sep 18 #Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
Sep 18 #Python
Python简单格式化时间的方法【strftime函数】
Sep 18 #Python
You might like
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
PHP中list方法用法示例
2016/12/01 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
js实现数字滚动特效
2019/12/16 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python之wxPython应用实例
2014/09/28 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
Python argv用法详解
2016/01/08 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
2016/06/30 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
python+opencv识别图片中的圆形
2020/03/25 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
服装仓管员岗位职责
2014/06/17 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
Nginx报404错误的详细解决方法
2022/07/23 Servers