python创建数据库表_python-3.x – 使用Python创建新的Access数据库和表

由于MS Access既是GUI .exe应用程序又是后端数据库,因此创建数据库与创建数据库对象(如表,视图(即存储的查询),甚至是过程)不同.

作为比较,另一个文件级RDMS,SQLite,必须将其.exe shell打开到CREATE DATABASE.并且服务器级RDMS(SQL Server,MySQL,Postgres)必须登录到服务器实例才能运行该命令. MS Access没有shell或实例工具,只有应用程序对象.

因此,在使用CreateDatabase方法创建数据库之后,请考虑将一个DDL SQL语句运行到CREATE TABLE,您可以使用Execute()方法.

Python COM接口

from win32com.client import Dispatch

try:

dbname = r'C:/Users/Guest/Desktop/NewDB.mdb'

accApp = Dispatch("Access.Application")

dbEngine = accApp.DBEngine

workspace = dbEngine.Workspaces(0)

dbLangGeneral = ';LANGID=0x0409;CP=1252;COUNTRY=0'

newdb = workspace.CreateDatabase(dbname, dbLangGeneral, 64)

newdb.Execute("""CREATE TABLE Table1 (

ID autoincrement,

Col1 varchar(50),

Col2 double,

Col3 datetime);""")

except Exception as e:

print(e)

finally:

accApp.DoCmd.CloseDatabase

accApp.Quit

newdb = None

workspace = None

dbEngine = None

accApp = None

Python DB API

虽然CREATE DATABASE在MS Access SQL中不可用,但只有在创建数据库文件后,才能使用任何带有CREATE TABLE命令的Python ODBC API运行上述Execute:

import pypyodbc

dbname = r'C:/Users/Guest/Desktop/NewDB.mdb'

constr = "DRIVER={{Microsoft Access Driver (*.mdb, *.accdb)}};DBQ={0};".format(dbname)

dbconn = pypyodbc.connect(constr)

cur = dbconn.cursor()

cur.execute("""CREATE TABLE Table1 (

ID autoincrement,

Col1 varchar(50),

Col2 double,

Col3 datetime);""")

dbconn.commit()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值