Python程序设计基础-Chap12-数据库支持.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python程序设计基础-Chap12-数据库支持.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 程序设计 基础 Chap12 数据库 支持
- 资源描述:
-
1、内容提纲内容提纲12.1 数据库概述2 212.2 Python数据库编程接口(DB-API)3 312.3 MySQL关系数据库操作4 412.4 SQLite数据库与操作1 1引例v引例 如右表所示是联想电脑某年在各地区的销售情况。现在问题是:(1)表中数据如何保持?(2)如何对多表中的数据进行关联操作?如求销量前5的地区的平均成交均价?地区联想电脑成交均价(元)广州1233335655.00深圳945645700.00珠海856775645.00中山677775635.00佛山456465650.00北京967865800.00上海1200785810.00海南355555600.00成
2、都234455648.0012.1 数据库概述数据库概述v数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库,用户可以对其中的数据进行新增、查询、更新、删除等操作。v数据库管理系统v 典型关系数据库管理系统v Microsoft SQL Server,MySQL、Oracle、SQLitev 典型非关系数据库v Mongodb,Redis,Hbase12.2 Python数据库编程接口(数据库编程接口(DB-API)v12.2.1 DB-API简介与统一操作模式 DB-API简介 DB-API是一个规范,它定义了一系列必须的对象和数据库存取方式
3、,可以为各种不同的数据库管理系统的数据库操作提供一致的访问接口。12.2 Python数据库编程接口(数据库编程接口(DB-API)v12.2.1 DB-API简介与统一操作模式 Python DB-API统一操作流统一操作流程程(1)导入DB-API模块;(2)获取与数据库的连接;(3)执行相关操作(SQL语句和存储过程);(4)关闭与数据库的连接。12.2 Python数据库编程接口(数据库编程接口(DB-API)v12.2.2 模块接口(Module Interface)模块方法与属性模块方法与属性Connect()为连接函数;apilevel为字符串常量,表示该DB-API所兼容的DB
4、-API最高版本号,默认为“1.0”;threadsafety为整型常量,表示该DB-API所支持的线程安全级别,其可能取值范围0-3;paramstyle为字符串常量,表示该DP-API所期望的SQL参数风格。类别名称描述方法connect()连接函数,同时也是Connection对象构造函数全局属性apilevelDB-API的版本号threadsafety线程安全级别paramstyle支持的SQL语句参数风格12.2 Python数据库编程接口(数据库编程接口(DB-API)v12.2.2 模块接口(Module Interface)connect()函数函数 connect()是一个
5、用来建立程序与数据库连接的函数,并返回一个Connection对象。具体参数如下表所列。一个连接案例:一个连接案例:connect(dsn=myhost:MYDB,user=guido,password=234$)参数名参数意义dsn数据源user用户名password用户密码host数据库所在主机database数据库名称 12.2 Python数据库编程接口(数据库编程接口(DB-API)v12.2.3 Connection连接对象 Connection连接对象搭建了应用程序与数据库之间的桥梁,完成将命令送往服务器,并从服务器接收数据等功能。该对象常用方法如下表:方法描述备注cursor(
6、)方法返回给定连接上建立的游标对象(Cursor Object)。如果数据库没有提供对应的游标对象,那么将由程序来模拟实现游标功能。close()马上关闭数据连接(而不是当_del_方法被调用的时候),连接应该此后变得不可用,再次访问本连接对象应该触发一个错误(Error或其子类),同样所有使用本连接对象的游标(cursor)对象,也会导致例外发生。需要注意的是,在关闭连接对象之前,没有首先提交对数据库的改变 将会导致一个隐含的回滚动作(rollback),这将丢弃之前的数据改变操作。commit()提交任何挂起的事务到数据库中。需要注意的是,如果数据库支持自动提交(auto-commit),
7、必须 在初始化时关闭。一般会有一个接口函数关闭此特性。rollback()此为可选方法,对于支持事务的数据库,调用此方法将导致数据库回滚到事务开始时的状态。关闭数据库连接之前没有明确调用commit()提交 数据更新,将隐含导致rollback()被执行。12.2 Python数据库编程接口(数据库编程接口(DB-API)v12.2.4 Cursor游标对象 游标对象用来实现程序与数据库的交互,一个游标对象允许用户执行数据库操作的相关命令以及获取到查询结果。该对象常用方法如下表:类别名称描述属性connection创建此游标对象的数据库连接arraysize使用fetchmany()方法一次取
8、出多少条记录,默认为1lastrowid返回最后更新id(可选)rowcount最后一次execute()操作返回或影响的行数方法excute(sql,args)执行一个数据库查询或命令excutemany(sql,args):执行多个数据库查询或命令fetchone()得到结果集的下一行fetchmany(size=cursor.arraysize)得到结果集的下几行fetchall()得到结果集中剩下的所有行_iter_()创建一个迭代器对象next()使用迭代对象得到结果集的下一行close()关闭此游标对象12.3 MySQL关系数据库操作关系数据库操作v概述 MySQL是一个关系型数
9、据库管理系统,目前属于 Oracle 旗下产品。MySQL支持UNIX、Linux、Mac OS、Windows等多种操作系统。目前MySQL是最流行的关系型数据库管理系统之一。支持MySQL的Python DB-API 在Python2.x中使用最为广泛的是mysqldb;在Python3.x中使用最为广泛的是PyMySQL;MySQL Connector/Python 是 MySQL 官方提供的 Python3.x连接 MySQL 数据库的驱动程序;12.3 MySQL关系数据库操作关系数据库操作v12.3.1 PyMySQL下载与安装 直接使用pip命令安装$pip install Py
10、MySQL 安装过程及成功界面如下图所示。12.3 MySQL关系数据库操作关系数据库操作v12.3.2 PyMySQL基本操作 12.3.2.1 数据库连接操作数据库连接操作 PyMySQL主要是通过connect()来建立与数据库的连接,案例代码如下:import pymysql connection=pymysql.connect(host=localhost,user=python,passwd=123456,db=UserInfo,port=3306,)print(connection.host_info)connection.close()12.3 MySQL关系数据库操作关系数据
11、库操作v12.3.2 PyMySQL基本操作 12.3.2.2 创建数据库表操作创建数据库表操作 import pymysql connection =pymysql.Connect(host=localhost,port=3306,user=python,passwd=123456,db=UserInfo)cursor=connection.cursor()cursor.execute(DROP TABLE IF EXISTS UserList)sql=CREATE TABLE UserList(userID CHAR(32)not NULL,userName CHAR(40)not NUL
12、L,userPassword CHAR(20),userAge INT )cursor.execute(sql)connection.close()12.3 MySQL关系数据库操作关系数据库操作v12.3.2 PyMySQL基本操作 12.3.2.1新增、删除、更新记录操作新增、删除、更新记录操作 Python异常处理机制 try:可能会发生异常语句块 except Exception as e:第一种异常类型处理 except Exception as e:第二种异常类型处理 except:其他的异常类型处理 else:如果没发生任何异常则执行这里 finally:12.3 MySQL关系
13、数据库操作关系数据库操作v12.3.2 PyMySQL基本操作 12.3.2.1新增、删除、更新记录操作新增、删除、更新记录操作 通过connection对象的cursor()方法获取游标cursor对象的各种方法实现数据库记录的新增、删除与更新;新增记录SQL语句 INSERT INTO UserList(userID,userName,userPassword,userAge)VALUES(1,zheng,123,20)删除记录SQL语句 updatesql=UPDATE UserList SET userAge=userAge+1 WHERE userName=zheng 更新记录SQL
展开阅读全文