Python数据库操作-pyodbc

一、安装

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()     # 断开连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

long7066

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值