Python 数据库编程入门教程

上传人:ZJ****3 文档编号:46801538 上传时间:2018-06-28 格式:PDF 页数:6 大小:242.99KB
返回 下载 相关 举报
Python 数据库编程入门教程_第1页
第1页 / 共6页
Python 数据库编程入门教程_第2页
第2页 / 共6页
Python 数据库编程入门教程_第3页
第3页 / 共6页
Python 数据库编程入门教程_第4页
第4页 / 共6页
Python 数据库编程入门教程_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Python 数据库编程入门教程》由会员分享,可在线阅读,更多相关《Python 数据库编程入门教程(6页珍藏版)》请在金锄头文库上搜索。

1、Python 数据库编程入门教程本文首发自新浪博客“派派技术小组”,转载请注明出处这年头,还拿打印一行“Hello World“做教程?毛主席说了,你这不是耍流氓么!这个时代, 数据库是王道! 今天, 我就用一个简单实用的销售数据库开发案例来引导感兴趣的读者入门 Python 数据库编程技术。 我们将使用 Python 创建一个简单的 Access销售数据库, 使用 ODBC 功能对数据库插入删除销售记录, 最后对数据库中的数据进行查询。 下面将是我们将会一步 步完成的编程步骤:1)介绍和安装 Python 及 ODBC 模块 pypyodbc; 2)创建一个 Access 数据库,并在此数据

2、库中建立相应的销售记录表; 3)向销售记录表中插入记录,记载销售交易情况; 4)用 Python 查询数据库中的数据,并压缩 Access数据库文件。咱们这就开始!1 1 1 1)安装)安装 PythonPythonPythonPython和和 pypyodbcpypyodbcpypyodbcpypyodbc 模块模块 Python 可以在 www.python.org中下载。本教程中我们下载的版本是 Python 2.7.3,尽管它 是一个编程平台,和普通程序一样,选择好安装本地安装路径,一路按“下一步”就可以完成 安装。 -有很多人会问,为什么不选择最新的 Python 3.X?在今日(2

3、013 年 1 月 20 日)笔者观点 是: 如果你想很快就开始用 Python 开发实际的系统, 那么就应该选择 Python 2.7。 Python 3.X 毫无疑问是未来的方向,语法也更清楚,但由于 3.X 版本没有很好的向下兼容性,很多可以 在 Python 2.X 中使用的功能模块目前在 Python 3.X 中尚无法使用。 Python 3.X 的面包和牛奶 都在准备中,但还需要一段时间。接下来,我们需要安装 pypyodbc 模块。pypyodbc 是一个用纯 Python 语言(Python 的强大 功能可见一斑)写的调用操作系统 ODBC 功能的单脚本模块,非常推荐,很强大(

4、好吧,pypyodbc 是笔者创建的) 。安装 pypyodbc 的方式为:从 http:/ 下载 pypyodbc 文件,目前最新的是 pypyodbc-0.9.1-SVN-r206.zip下载后解压到一个临时目录中,双击目录中的 setup.py 文件即可安装此模块。在本教程中,我们会在 Python 交互窗口中直接下命令,因此请用上述方法安装 pypyodbc。 今后在项目中,我们也可以将 zip 压缩包中的 pypyodbc.py 解压出来,放置于我们将要写的 脚本的同一个目录下,也可以直接在脚本中调用它了,无需单独安装。 准备完毕,我们可以开始用 Python 编写代码了!2 2 2

5、 2)创建一个)创建一个 AccessAccessAccessAccess 数据库,并在此数据库中建立相应的销售记录表数据库,并在此数据库中建立相应的销售记录表从这里开始,我们将开始真正变身为一名光荣的 Python 码农,而我作为码农教练,从你们 洒下第一行 Python 代码开始,我将详细讲它们的作用。我们首先会在 Python 的交互界面一 步一步完成代码动作, 以了解每一步的效果, 最后我们会将这些交互代码集中到一个脚本文 件中去,真正成为一个程序。 我们先打开 Python 交互界面: 从 Windows开始菜单找到 Python 2.7目录, 点击运行 Python 2.7 下面的

6、 Python (Command Line),会有一个黑底白字的文本输入窗口跳出,含有如下字样。这说明你已经可以在这个符号后敲入 Python 代码命令, 操纵 Python 完成一步步动作了。 我们一步一步来: 第一步:我们命令 Python 从它众多的模块库中,找出刚刚为它安装好的 pypyodbc 模块, 供 我们在接下来的步骤中使用。 import pypyodbc第二步:我们要创建一个 Access数据库,用以存放销售数据。这是 PyPyODBC 的一个特色 功能,可以方便地在 Windows 平台下创建空白的 Access 数据库。Access 数据库起名为 salesdb.mdb

7、,我们把它放在 D 盘根目录下。 pypyodbc.win_create_mdb(D:salesdb.mdb)这时你可以看见在 D 盘下有一个 salesdb.mdb 的 Access空白数据库文件被产生。第三步:使用 Access 的 ODBC 连接字符串,通过 pypyodbc 模块获得一个可以连接到 salesdb.mdb 数据库的 ODBC 连接对象 conn: conn = pypyodbc.connect(Driver=MicrosoftAccessDriver (*.mdb);DBQ=D:salesdb.mdb)并从这个连接对象中,获取一个数据库操作游标 cur: cur = c

8、onn.cursor()第四步,在数据库中新建一个销售记录表 saleout 我们使用该游标的 execute命令向 Access 数据库传递一句 SQL 命令,创建一个名为 saleout 的表: cur.execute(CREATETABLE saleout ( ID COUNTER PRIMARY KEY, customer_nameVARCHAR(25), product_nameVARCHAR(30), pricefloat, volume int, sell_time datetime);)这样数据库下就创建了一个含有表字段: ID(编号) , customer_name(顾客名)

9、,product_name(商 品名) ,price(出售价格),volume(数量)和 sell_time(出售时间)的表。 最后,我们把前面的操作一次性提交,让它们在数据库中正式生效。 mit()3 3 3 3)向销售记录表中插入记录,记载销售交易情况)向销售记录表中插入记录,记载销售交易情况数据库创建好后,我们就可以往里面记载销售情况了。第一步,我们记录一位江先生(江文)的顾客,于 2013 年 1 月 21 日,花 5000.5 元买了两 部华为 Ascend mate 手机: cur.execute(INSERT INTO saleout(customer_name,product_

10、name,price,volume,sell_time) VALUES(?,?,?,?,?),(u江文,Huawei Ascend mate,5000.5,2,2012-1-21) 别忘了立即提交,使该笔记录正式在数据库中生效: mit()接下来我们再批量记录一批销售: cur.execute(INSERT INTO saleout(customer_name,product_name,price,volume,sell_time) VALUES(?,?,?,?,?),(u杨天真,Apple IPhone5,6000.1,1,2012-1-21) cur.execute(INSERT INTO

11、 saleout(customer_name,product_name,price,volume,sell_time) VALUES(?,?,?,?,?),(u郑现实,Huawei Ascend D2,5100.5,1,2012-1-22) cur.execute(INSERT INTO saleout(customer_name,product_name,price,volume,sell_time) VALUES(?,?,?,?,?),(u莫小闵,Huawei Ascend D2,5200.5,1,2012-1-22) cur.execute(INSERT INTO saleout(cus

12、tomer_name,product_name,price,volume,sell_time)VALUES(?,?,?,?,?),(u顾小白,Huawei Ascend mate,5000.5,1,2012-1-22) 立即提交,使这 4 笔记录正式在数据库中同时正式生效: mit()至此,我们已经在系统中记录了 5 笔销售。在下面的步骤中,我们将查询这些记录。4 4 4 4)用)用 PythonPythonPythonPython查询数据库中的数据,并压缩查询数据库中的数据,并压缩 AccessAccessAccessAccess数据库文件数据库文件如果我们要查询 2012 年 1 月 21

13、 日当天, 我们所有华为产品的销售情况该如何做?这时我们 将传递一句 SQL 查询至 Access数据库,并获得数据库查询所得的结果返回为 Python 中的 变量。 首先,传递 SQL 查询语句至 Access数据库: cur.execute(SELECT * FROM saleout WHERE product_nameLIKE %Huawei%)然后,从数据库查询结果抓取结果集的字段名信息: fordincur.description: print d0,idcustomer_nameproduct_name price volume sell_time交互界面将显示出各字段的名称。我们

14、接下来把结果集一行一行显示在屏幕上: forrowincur.fetchall(): for fieldinrow: print field, print 1 江文 HuaweiAscend mate5000.5 2 2012-01-21 00:00:00 3 郑现实 HuaweiAscend D2 5100.5 1 2012-01-22 00:00:00 4 莫小闵 HuaweiAscend D2 5000.5 1 2012-01-22 00:00:00 5 顾小白 HuaweiAscend mate5000.5 1 2012-01-22 00:00:00 这样就显示出了所有的结果集。对于

15、Access 数据库, 在长久的数据插入使用后,Access 数据库文件可能变得非常臃肿庞大。 PyPyODBC 提供了另一个特色功能, 能够直接在 Python 程序中用代码调用清理压缩数据库。 我们现在将 D:salesdb.mdb 压缩生成另外一个文件 salesdb_backup.mdb: 首先,关闭数据库连接: conn.close()然后,使用 pypyodbc 的 win_compact_mdb 方法清理压缩数据库文件: pypyodbc.win_compact_mdb(D:salesdb.mdb,D:salesdb_backup.mdb)这时会发现另外一个清理压缩过的文件 salesdb_backup.mdb 产生在 D 盘下,这时大小和原 来的数据库没有大差别,但在数据库长时间频繁的使用后,压缩清理的效果会非常惊人。保保存存成成 PythonPythonPythonPython程序文件与总结程序文件与总结 前面的教程中,我们使用了 Python 的交互式界面,一行代码一行代码地操纵 Python 完成了 个个步骤。我们可以把这些代码记在一个后缀名为 py 的文本文件中,这样 Python 就会按照 文本文件中的代码顺序执行。本教程中的代码程序可以在 sales_sample.py 上下载获得。可能有的读者会提问,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号