第一章 Python pyodbc连接access数据库的使用方法
目录
前言
一、pyodbc是什么?
二、pyodbc的安装
1、使用清华镜像安装
2、解决安装报错
3、解决办法
三、pyodbc连接MDB执行操作的使用步骤
1、连接数据库
2、创建表
3、创建字段
4、插入数据
5、查询数据
6、更新表中的数据
7、删除表中数据
总结
前言
因为最近经常加班,工作内容大部分都是一些重复性的工作,总是要写一些SQL语句去更新、删除、查询,而access又只能一条一条的执行,就搞得心力憔悴。于是想起了当初学python的目的,不就是为了去做重复性的工作而解放双手吗?然后就在网上查询方法,在躺过无数个坑之后,终于皇天不负有心人,总算找到了解决办法并成功解放双手,嘿嘿!下面就将自己所用的方法整理出来方便以后自己查询,同时也希望能帮助有需求的朋友避免再次躺坑。
一、pyodbc是什么?
在开始之前我们首先要知道pyodbc是什么?能帮助我们干什么?确定是否能解决自己遇到的问题。首先pyodbc是一个Python模块,能够让你使用 ODBC 连接来自Windows, Linux, OS/X等系统中的大部分数据库。因为目前自己只用于access数据库,其他数据库也没有去过多的实验。本章实战我们就用来连接access,实现对MDB的增、删、改、查。
二、pyodbc的安装
以我自己的电脑配置为例:python版本是3.8,32位。access是2010版本
1、使用清华镜像安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyodbc --user
或者使用:pip install pyodbc 安装,反正能正常安装就好。
2、解决安装报错
我当时是用清华镜像安装,报错下面这个错误
3、解决办法
出现这个错误的原因是Python本地版本与下载的第三方模块安装包不匹配,因为清华镜像下载的是最新版本,如果报错,需要去手动下载匹配版本的模块安装包。
下载地址(https://www.lfd.uci.edu/~gohlke/pythonlibs/)
cp38是python的版本号
win32是第三方模块的版本
下载成功之后在cmd找到下载后安装包存放的位置,执行下面这句安装即可。
pip install pyodbc-4.0.32-cp38-cp38-win32.whl
如下图所示:前面几个报错是因为我下载的版本与python版本不匹配,最后一个则是下载匹配的版本之后成功安装。
三、pyodbc连接MDB执行操作的使用步骤
pyodbc.connect |
连接数据库 |
xxx.cursor() | 创建游标 |
cursor.execute() | 所有的SQL语句都用cursor.execute函数运行 |
cursor.rowcount |
获取SQL语句执行的条数 |
cursor.commit() | 提交数据 |
cursor.close() | 关闭游标 |
connect.close() | 断开连接 |
1、连接数据库
为了方便执行其他mdb数据库,这里我用了个灵活点的方式,创建一个path变量,在执行的时候输入mdb数据库的路径即可
(列如我的mdb文件存在桌面上,那么我输入C:\Users\Administrator\Desktop\测试.mdb)
# 导入库
import pyodbc# 创建输入路径
path = input('请输入处理数据路径:')# 连接数据库
conn = pyodbc.connect(r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+ path +";Uid=;Pwd=;")# 创建游标
cursor = conn.cursor()
2、创建表
注意:
1、所有的SQL语句都用cursor.execute()函数运行
2、调用cnxn.commit()函数,否者你对数据库的所有操作将会失效!
# 导入模块
import pyodbc# 创建路径
path = input('请输入处理数据路径:')# 连接数据库
conn = pyodbc.connect(r"DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+ path +";Uid=;Pwd=;")# 创建游标
cursor = conn.cursor()# 执行SQL语句,创建表
cursor.execute("create table [测试表]")# 提交数据
cursor.commit()
3、创建字段
文本型 | text | 用于输入文本或文本与数字相结合的数据 |
货币型 | Currency | 用来存储货币值,即与货币相关的数据,占8个字节,在计算中禁止四舍五入。 |
数字型 | Number | 用于存储数值数据,可以进行数值计算的数据,但货币除外 |
日期/时间型 | Date/Time | 用于存储日期和(或)时间值,占8个字节。 |
自动编号型 | AutoNumber | 默认是长整型,自动编号不能更新。 |
是/否型 | Yes/No | 又称为布尔型类型,用于存储逻辑值(是/否、真/假、开/关),占1个字节。 |
OLE对象型 | OLE Object | 用于使用OLE协议在其它程序中创建的OLE对象(如Word文档、Excel电子表格、图片、声音等),最多存储1GB(受磁盘空间限制)。 |
附件 | 附件类型是存储数字图像等二进制文件的首选数据类型。 | |
超链接型 | Hyper Link | 用于存放通过超链接方式链接的Windows对象,如通过超链接跳转至文档、网页等。 |
创建字段CS1,CS2到测试表中,字段类型为文本,大小为默认(255)
# 执行SQL语句创建字段
cursor.execute("Alter Table 测试表 Add Column CS1 text,CS2 text")# 提交数据
cursor.commit()
4、插入数据
# 执行SQL语句插入数据
cursor.execute("insert into 测试表(CS1,CS2) values ('西游记','吴承恩')")# 提交数据
cursor.commit()
5、查询数据
完整的连接mdb数据库并查询数据代码如下:
# 执行SQL语句
cursor.execute("select CS1, CS2 from 测试表")# 返回查询结果
row = cursor.fetchone()# 打印查询结果
print(row)
6、更新表中的数据
# 执行SQL语句更新数据
cursor.execute("update 测试表 set cs1='三国演义'")# 提交数据
cursor.commit()
7、删除表中数据
# 执行SQL语句删除数据
cursor.execute("delete from 测试表 where cs1='三国演义'")# 提交数据
cursor.commit()
总结
以上就是今天要分享的内容,本文仅仅简单介绍了pyodbc的使用,而pyodbc提供了大量能使我们快速便捷地处理数据的函数和方法去处理重复性的工作,所以加油吧!少年!人生苦短,我学python!!!
第一章 Python pyodbc连接access数据库的使用方法相关推荐
- java web access_Java Web项目中连接Access数据库的配置方法
本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...
- dwasp连接mysql_asp连接access数据库代码(ASP连接ACCESS数据库方式方法)包含.mdb和.accdb两种格式...
[全站通告]如需要一对一人工服务-请加微信以及QQ(2589053300) 接了一个毕业设计,用ASP链接ACC数据库的,而且还是用dw+dns方式链接的,这可如何是好的调试,没办法,就做了以下的测试 ...
- pythonaccess系统_Win7(64位系统)中用Python连接access数据库(access2010)
[本机是win7 64位操作系统,做数据库实例时需要创建Access数据库的ODBC数据源,但是打开ODBC数据源后发现添加里面没有配置access的连接,如下图:还会弹出以下问题框:# -*- co ...
- C 连接ACCESS数据库代码实例
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 今天一个 ...
- access后台链接mysql_ASP.NET连接 Access数据库的几种方法
web.config 第一种方法: 第二种方法: 后台 aspx.CS using System; using System.Collections.Generic; using System.Lin ...
- [转载] 《python程序设计应用教程》第一章 python语言概述
参考链接: Python语言的优势和应用 第一章 python语言概述 1.1 python语言简介 ① 众多的开源的科学计算软件包都提供了python的调用接口,例如:计算机视觉库OpenCV.三维 ...
- C#连接Access数据库(详解)
做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ...
- Access数据库教程_如何进行C#连接Access数据库的细节操作?
许多学者总会面对于 数据库 的知识,以下的例子讲述到 Access 数据库说明,用 C# 的DataSet类访问数据库的一些操作方法. 操作涉及的主要C#类有: DataSet:对应数据库表的一个集合 ...
- java连接access数据库的三种方式以及远程连接
连接access数据库,网上的内容很多,尝试的过程中也会遇到各种问题,没有特别好的介绍,所以自己想总结一下,日后备用. 这里需要提前说明下,win7系统32bit和64bit默认安装的access都是 ...
- 第一章Python概述
第一章Python概述 一.基本概念 1.IDLE:(Integrated Development and Learning Environment)集成开发和学习环境,是Python的集成开发环境. ...
最新文章
- 开发者说PaddleOCR的.NET封装与应用部署
- react进入路由前获取数据_react之传递数据的几种方式props传值、路由传值、状态提升、redux、context...
- SQL Server使用sp_rename重命名约束注意事项
- 如何计算页面打开获取流量_网站SEO优化如何获取更多的流量?
- st7789 照片转数组软件_干货 | 新闻人实用软件安利
- 20151026作业
- 电脑没声音解决方法,win11
- 各类原版系统下载:在MSDN下载Windows、MacOS、Linux原版系统镜像
- Adobe Photoshop CC 2019 精简版
- 五阶魔方公式java_五阶魔方降阶法公式是什么?
- cad二次开发-C#-VS-镜像-判断用户当前是否已选择实体-将实体对象添加到模型空间-添加实体到块表记录-将块定义插入到模型空间
- 基于时域表示的序列数据分类方法(一)——基于距离度量的序列数据分类方法
- Win11玩游戏延迟高的解决办法
- 密码套件cipher suite
- 聚合签名、门限签名、Multisigs 和多签名
- Git 上传忽略文件设置 .ignore exclude
- Oracle如何实现跨数据库查询
- kafka 自定义Interceptor(通过拦截器对消息进行定制化处理)
- c语言哪些情况不用原型声明,必须在C中声明函数原型吗?
- 智能巡检机器人是如何工作的?