python做数据库管理系统_Python“数据库操作”之ODBC篇

转载自百家号作者:编程是有趣的

u=3494007110,1426361468&fm=173&app=25&f=JPEG?w=640&h=610&s=D61362235812F2C01A109109030030F1

大家好,今天我们就一起聊聊Python“数据库操作”之ODBC。什么是ODBC呢?ODBC即Open DataBase Connection的缩写,意为开放数据库连接,是微软提出的一种数据访问的方法,只要数据库提供了ODBC驱动程序,应用程序就能以ODBC的方式访问数据库中的数据。

为了便于访问数据,WINDOWS系统提供了ODBC数据源管理工具,该工具用来设置数据源的名字DSN(DATA SOURCE NAME)。所谓DSN只不过是一个数据源的标志,设置它的目的是便于应用程序访问数据,也就是说,只要为某个数据库设置了相应的DSN,应用程序就不必理会该数据库存储的位置和驱动程序,可以按DSN直接访问数据库。

DSN有三种类型:用户DSN、系统DSN和文件DSN。用户DSN只对设置它的用户可见,而且只能在设置了该DSN的机器上使用;系统DSN对机器上的所用户都是可见的,包括NT服务;文件DSN将DSN的配置信息存在一个文件里,这样的文件就叫文件DSN。我们一般只需要考虑用户DSN即可。

在Windows中手动添加DSN是很简单,依次点击控制面板-管理工具-数据源,打开下图所示的界面,点击添加,按照提示一步步完成即可。

u=948538306,1102545742&fm=173&app=25&f=JPEG?w=471&h=387&s=4012C638195E64CC48FD05D30200D0B2

Python中用来操作ODBC的类库是pypyodbc,该库不是Python内置的,需要我们手动安装,也很简单,在命令行窗口下输入pip install pypyodbc即可,如下图所示,显示出这样的界面表明pypyodbc库已经安装成功。除了使用pypyodbc,大家也可以使用pyodbc,二者没什么区别,pypyodbc是pyodbc的纯python实现,平台移植性更好。

u=237727377,3561735261&fm=173&app=25&f=JPEG?w=640&h=252&s=0842EB0217CC3B450ED1950F0000A0C2

使用pypyodbc库之前,需要采用import语句导入,也很简单。

u=4210189396,3237602545&fm=173&app=25&f=JPEG?w=594&h=143&s=D201F100479E8E253C000996030080AB

还记得数据库操作第一步要干什么吗?对了,是建立数据库连接,不过在ODBC里面提供了两种方法:一是直接与数据库连接,二是通过数据源(DSN)与数据库连接,pypyodbc提供了connect方法完成这一操作。

u=2069454583,1606467021&fm=173&app=25&f=JPEG?w=640&h=189&s=5ADDA144DBE4BB704E5EE5860200F0C9

我们注意到connect方法有一个参数connectString(连接字符串),通过使用connectString,便可以连接到ODBC,得到一个Connection对象,之后的操作便和上一篇文章《Python“数据库操作”初窥》中写的一样了,所以重点就是学习如何根据自己的实际情况和需要书写connectString,官网有详细的操作手册 http://www.connectionstrings.com,建议大家好好看看,在此我列出几条常用的备查。

u=1671467664,84512844&fm=173&app=25&f=JPEG?w=639&h=175&s=C812C51A49624D2042E504DB000080B2

u=1395770734,800686106&fm=173&app=25&f=JPEG?w=640&h=161&s=4052C532C5726C20426D01DB0000C0B2

u=1824251878,2137597932&fm=173&app=25&f=JPEG?w=640&h=184&s=451A65324B624D201AF4E5D30000D0B2

u=4146680293,1199748032&fm=173&app=25&f=JPEG?w=593&h=182&s=8952C51249624D2042E505DB0000C0B2

u=1262503750,3548881316&fm=173&app=25&f=JPEG?w=640&h=325&s=441AE5321F485D4508F021DE0000C0B2

简单解释一下,Uid代表数据库的登录名称,Pwd表示密码,如果没有设置的话就都为空。不过,并不是写好上述语句,就能连接到ODBC,还需看你的Python环境是否支持上述驱动,如何看我们的Python环境支持哪些驱动呢,可以使用下面的代码。

u=675258096,2131825119&fm=173&app=25&f=JPEG?w=639&h=224&s=1A95A14CD7F098710EF6E1870300D0CA

另外,如果使用的是Access的mdb数据库,则还有更简单的方法,pypyodbc为我们提供了两个操作方法。

u=710964777,656843430&fm=173&app=25&f=JPEG?w=587&h=154&s=5A95A144DBA48B700C768482020010C9

win_connect_mdb用于连接到mdb数据库;win_create_mdb用于创建mdb数据库,二者的参数都是mdb_path,即数据库所在的路径。

OK,今天的讲解就到这儿,别看篇幅不长,可知识点却多多了,大家一定要多多阅读,好好消化,感谢大家的持续关注,还有更多的Python编程大餐,敬请享用哦!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值