一、安装
1、安装pyodbc库
使用pip或者pipnv方式安装均可。
pip install pyodbc
pipenv install pyodbc
2、安装access驱动程序
访问Access数据库,需要手动安装Access数据库引擎。需要注意,Access数据库引擎版本和位数需要和Office对应,否则会安装失败。以下代码均在Office2016(64bit)和Access2016(64bit)数据库引擎平台下验证。Access数据库引擎可在官网找到相应的链接。
安装完成后,可以在Windwos管理工具->ODBC数据源管理程序查看到Access数据库的平台及驱动信息。
二、创建数据库
创建数据库需要使用Access桌面软件,创建Test.accdb文件作为测试数据库。(右键新建*.accdb文件也可以。)
注意:创建后不要使用Access打开,否则部分操作回应Access占用而操作失败
三、操作数据库
1、连接
# 连接
datafile = "G:/WorkSpace/Python/Test.accdb" # 貌似要用绝对路径
database = 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=' + datafile
connect = pyodbc.connect(database) # 连接数据库
cursor = connect.cursor() # 获取cursor游标
2、创建表
# 创建表
cursor.execute("CREATE TABLE user (id INT PRIMARY KEY, name VARCHAR(255), tele VARCHAR(14), addr VARCHAR(255))")
3、添加数据
# 添加数据
cursor.execute("INSERT INTO user VALUES(1, 'a', '0-12345678', '0-abcdefg')")
cursor.execute("INSERT INTO user VALUES(2, 'b', '1-12345678', '1-abcdefg')")
cursor.execute("INSERT INTO user VALUES(3, 'c', '2-12345678', '2-abcdefg')")
cursor.execute("INSERT INTO user VALUES(4, 'd', '3-12345678', '3-abcdefg')")
cursor.commit()
4、查询表
# 遍历数据库:输出表的信息
print("Database Table List Info: ")
for table_info in cursor.tables(tableType='TABLE'):
print(table_info.table_name)
5、查询数据
# 遍历表数据:输出各行的信息
print("Database Table Data Info: ")
cursor.execute("SELECT * from user")
datas = cursor.fetchall()
for data in datas:
print (data)
# 遍历表信息:输出指定字段行数据
print("Database Table Data Info: ")
cursor.execute("SELECT * from user WHERE name='a'")
print (cursor.fetchall())
6、修改数据
# 修改指定数据
cursor.execute("UPDATE user SET tele ='1-87654321' WHERE name='a'")
7、删除数据
cursor.execute("DELETE FROM user WHERE name='d'")
8、删除表
cursor.execute("DROP TABLE user")
9、结束
cursor.commit() # 提交数据
cursor.close() # 关闭游标
connect.close() # 断开连接