深度剖析Python包技术
创始人
2024-06-22 15:40:33
0

想要充分的掌握Python包的技术,那么就要对Python包中的结构、语句、变量、函数、预处理指令、输入和输出等内容进行了解掌握,下面文章进行学习研究。

通过提供用于操作数据库表的类和对象,对象关系映射工具有助于提高生产率。Python 最好的对象关系映射工具是 SQLObject —— 一个开放源码项目。它几乎完成编程数据库所需的所有操作。

本文介绍 SQLObject 及其功能。阅读本文后,您将能够不编写任何 SQL 代码而连接 Python 与数据库。 当面向对象编程范例满足大多数数据库的关系范例时,通常会看到对象关系映射。对象关系映射是这两个世界的桥梁。

它允许您定义与数据库表对应的类。然后您可以使用这些类及其实例上的方法来与数据库交互,而不用编写 SQL。使用对象关系映射并不意味着不需要知道关系数据库如何工作,而是不必要编写 SQL,从而避免编程错误。

您可以找到一打以上的操作 SQL 数据库的开放源码 Python包,这还没包括用于连接 Python 与特定数据库的特殊用途模块。SQLObject 是其中最好的模块。它是简单易用的完全对象关系映射包。SQLObject 几乎可以完成编程数据库所需的所有操作。

本文展示了 SQLObject 如何与数据库交互,如何使用 SQLObject 编写数据库访问和数据验证代码,SQLObject 具有一个 setup.py 文件,安装方式与其他任何 Python包一样。如果您使用的是 Python V2.2,则还需要安装 mxDateTime Python 包(SQLObject 使用 Python V2.3 的内置 datetime 模块,如果该模块可用的话)。

要实际使用 SQLObject,需要设置数据库包以及这种数据库的 Python 接口。SQLObject 连接多种数据库,其中包括三个大的开放源码产品:MySQL、PostgreSQL 和无服务器 SQLite。最后,需要为应用程序创建数据库。对于 SQLite,这意味着创建一个存储该数据库的文件。对于其他数据库,这意味着连接数据库服务器。

执行 CREATE DATABASE 命令,并授权数据库用户对新数据库的一些访问,以便 SQLObject 可以使用该用户帐户来连接。需要编写的第一个 Python 代码是数据库连接代码。基于所使用的数据库,这是惟一需要编写不同代码的地方。

例如,如果想让应用程序使用 SQLite 数据库,则需要将数据库文件的路径写入位于 sqlobject.sqlite 包的 SQLite 连接构建器中。如果数据库文件不存在,QLObject 将告诉 SQLite 创建一个,代码如下:

  1. mysql> use mysql;  
  2. Database changed  
  3. mysql> create database sqlobject_demo;  
  4. Query OK, 1 row affected (0.00 sec)  
  5. mysql> grant all privileges on sqlobject_demo to 'dbuser'@'localhost'   
  6. identified by 'dbpassword';  
  7. Query OK, 0 rows affected (0.00 sec)  
  8. mysql> flush privileges;  
  9. Query OK, 0 rows affected (0.00 sec)  

如果使用的是Python包或带有服务器的其他数据库,则将数据库连接信息传递到连接构建器中,清单 2 提供了在上一节创建的 MySQL 数据库的示例,希望本文能教会你更多东西。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...