一、Python使用pyodbc连接数据库
Pyodbc是python连接多个数据库了类型的库。它可以通过ODBC驱动程序连接到各种数据库,如Microsoft SQL Server、Oracle、IBM DB2等。
1.安装pyodbc。
使用python连接数据库前,需要安装pyodbc。
pip install pyodbc
2.使用pyodbc连接数据库
import pyodbc #使用pyodbc作为连接应用程序和数据库的管道
DBfile = os.getcwd()+ u""".mdb""" #起始执行目录数据库文件
#建立一个连接对象,该对象用odbc连接管道连接应用程序和指定的数据库
conn = pyodbc.connect (u"Driver = {Microsoft Access Driver (.mdb,*.accdb)}; DBQ=" + DBfile)
#为数据连接创建游标对象,此时游标对象中没有存放任何数据
cursor = conn.cursor()
cursor.close() #关闭游标
conn.close() #关闭数据库连接
注:在使用代码前,先把数据源创建好。
二.python使用pywin32连接数据库
Python win32com.client是python库,它提供了与windows操作系统中的com组件进行交互的功能。通过使用该库,我们可以在python中使用com对象。调用com组件中的方法和属性,并与其他应用程序进行交互。可通过python编写脚本来自动化执行各种windows任务,如操作office文档、与数据库交互等。
1.安装python3.7及以下版本(32位或64位)
2.安装与python版本相对应的win32com.client版本
https://www.sourceforge.net/projects/pywin32/files/pywin32
3.安装与数据库版本相配的数据库引擎
Accessdatabaseengine.exe
测试成功版本:
Python ——3.7.1
Win32——-build 221 32位
数据库引擎——32位或64位
import win32com.client
conn = win32com.client.Dispatch(r"ADODB.Connection")
#DSN = ‘PROVIDER = Microsoft.Jet.OLEDB.4.0;DATA SOURCE = *.mdb’ #Access2007以前
DSN = ‘PROVIDER = Microsoft.ACE.OLEDB.12.0;DATA SOURCE = .mdb’ #Access2007及以后
conn.Open(DSN)
rs = win32com.client.Dispatch(r’ADODB.Recordset’)
tablename = ‘表’
rs.Open(‘[’ + tablename + ‘]’, conn, 1, 3)
#rs.MoveFirst() #光标移到首条记录
while not rs.EOF:
for i in range(rs.Fields.Count):
print(rs.Fields[i].Name, ":", rs.Fields[i].Value) #字段名:字段内容
print(end=’ ‘)
rs.MoveNext() #光标移到下条记录
print(‘该表有’+str(rs.Fields.Count)+‘个字段’)
print(‘该表有’+str(rs.RecordCount)+‘条记录’)
conn.Close()
注:
rs.fields(i).name是指建立的rs记录中第i个字段的名称(从0开始,i为1指第2个字段名);
rs.fields.count表示记录集的列数,如数据表中有3列,则rs.fields.count也有3列;
rs.recordcount表示数据集的条数,即行数,可以使用rs.movenext向下移动;
While not rs.eof 中rs.eof 表示记录结尾,是一个标记,代表记录结尾;
rs.fields(i).value是用来返回记录集rs当前位置第一个字段的值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208450.html