如何在Python中创建mdb数据库文件?

时间:2010-06-22 15:17:57

标签: python database ms-access

我想用Python在Windows中创建一个mdb数据库文件,似乎无法用Python Docs来解决它。我读到的所有内容都与建立连接以及如何处理光标有关。

有什么想法?感谢...

2 个答案:

答案 0 :(得分:11)

我对comtypes模块的体验相当不错。您可能希望为所使用的方法提供Access DAO / ADO / VBA参考,但是,comtypes模块动态生成COM库包装器,因此没有内置文档。

以下是它如何运作的简短示例。 (来吧自己测试一下。)

from comtypes.client import CreateObject

access = CreateObject('Access.Application')

from comtypes.gen import Access

DBEngine = access.DBEngine
db = DBEngine.CreateDatabase('test.mdb', Access.DB_LANG_GENERAL)
      # For me, test.mdb was created in my My Documents folder when I ran the script 

db.BeginTrans()

db.Execute("CREATE TABLE test (ID Text, numapples Integer)")
db.Execute("INSERT INTO test VALUES ('ABC', 3)")

db.CommitTrans()
db.Close()

(对于类型库的Python包装器模块以前不存在的情况,在CreateObject行之后移动了第二个import语句。)

答案 1 :(得分:0)

如果您还没有,请先下载并安装 Microsoft Access Database Engine 2010 Redistributable

那么你应该安装pyodbc模块。

现在你可以连接访问数据库了:

ConFileName=(r'c:\mydb\myaccess.mdb')
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=' + ConFileName + ';')
cursor = conn.cursor()

要从数据库中的任何表中进行选择,请使用以下简单代码:

ConFileName=(r'c:\mydb\myaccess.mdb')
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=' + ConFileName + ';')
cursor = conn.cursor()
cursor.execute('select * from table1')
for row in cursor.fetchall():
    Table1Array.append((row[0],row[1],row[2])
print(str(len(Table1Array))+" records in Table1 loaded successfully.")

您可以点击此链接以获取有关通过 Python 使用 MS Access 的更多信息:

https://elvand.com/python-and-ms-access/