现在各种各样的数据库层出不穷,什么MySQL、PostgreSQL、MongoDB这些都是比较火的,还有一些稍微小众一点的数据库就更多了。相比之下,微软Office套件里面附带的Access数据库究落寞了很多。不过好歹Access数据库还是有些用处的,作为一个既是数据库又是前端界面的软件,对一些非科班又有数据库需求的人来说还是比较好用的。本文利用pyodbc来简单介绍一下如何操作Access数据库。
安装pyodbc
最简单的方式自然是pip安装了:
pip install pyodbc
如果会使用pipenv的话就更好了,一整套Python虚拟环境管理方案,强烈推荐:
pipenv install pyodbc
最近又了解了一下faker类库,所以顺便用faker添加了一些模拟数据。所以顺便还要安装faker:
pip install faker
安装Access数据库引擎
Access数据库稍微有点特殊,还需要安装一个额外的数据库引擎。注意版本要和安装的Office版本一样,如果安装的Office是32位而安装了64位的引擎,也没办法使用。如果安装的是Office 2019的话,用2016引擎就好了。其他版本的没试过。
安装完毕后打开ODBC数据源,查看一下平台,如果显示出了具体位数,说明安装成功。当然没安装以前也可以先查看一下,应该是N/A,表示尚未安装。
这样一来准备工作就结束了。
创建Access数据库
首先打开Access软件,创建一个数据库。创建完毕后记得关闭数据库,否则接下来代码会报错。
增删查改
pyodbc库的用法和一般的Python SQL驱动类似,我就不做过多介绍了,很简单的示例代码,做了一些简单注释。首先创建了3000条用户数据,然后简单查询了一下所有公务员。数据库字段完全按照faker提供的模拟数据来设计的。代码只用了简单的SQL添加和查询功能,不过更新和删除也很简单,就不写了。
import pyodbc
import faker
create_table_sql = '''\
create table user
(
id autoincrement primary key,
username varchar(255) unique,
nickname varcha