《Python程序设计》习题与答案 下载本文

第14章 数据库编程

14.1 简单介绍SQLite数据库。 答:

SQLite是内嵌在Python中的轻量级、基于磁盘文件的数据库管理系统,不需要服务器进程,支持使用SQL语句来访问数据库。该数据库使用C语言开发,支持大多数SQL91标准,支持原子的、一致的、独立的和持久的事务,不支持外键限制;通过数据库级的独占性和共享锁定来实现独立事务,当多个线程同时访问同一个数据库并试图写入数据时,每一时刻只有一个线程可以写入数据。SQLite支持2TB大小的单个数据库,每个数据库完全存储在单个磁盘文件中,以B+树数据结构的形式存储,一个数据库就是一个文件,通过简单复制即可实现数据库的备份。

14.2 使用Python内置函数dir()查看Cursor对象中的方法,并使用内置函数help()查看其用法。

答:略。

14.3 叙述使用Python操作Access数据库的步骤。 答:

(1)建立数据库连接 import win32com.client conn.Open(DSN)

(2)打开记录集

rs_name = 'MyRecordset' #表名 rs.Open('[' + rs_name + ']', conn, 1, 3)

(3)操作记录集 rs.AddNew() rs.Update()

(4)操作数据

sql_statement = \INTO [Table_Name] ([Field_1], [Field_2]) VALUES ('data1', 'data2')\ conn.Open(DSN)

conn.Execute(sql_statement) conn.Close()

(5)遍历记录 rs.MoveFirst() count = 0 while 1: if rs.EOF: break

else:

count = count + 1 rs.MoveNext()

14.4 叙述使用Python操作MS SQL Server数据库的步骤。 答:

可以使用pywin32和pymssql两种不同的方式来访问MS SQL Server数据库。 先来了解一下pywin32模块访问MS SQL Server数据库的步骤。 (1)添加引用: import adodbapi

import adodbapi.ado_consts as adc

(2)创建连接: Cfg =

constr = r\Password=%s; \ conn = adodbapi.connect(constr)

(3)执行sql语句: cur = conn.cursor()

sql = '''select * from softextBook where title='{0}' and

remark3!='{1}''''.format(bookName,flag) cur.execute(sql) data = cur.fetchall() cur.close()

(4)执行存储过程:

#假设proName有三个参数,最后一个参数传了null ret = cur.callproc('procName',(parm1,parm2,None)) conn.commit()

(5)关闭连接 conn.close()

接下来再通过一个示例来简单了解一下使用pymssql模块访问MS SQL Server数据库的方法。 import pymssql

conn = pymssql.connect(host='SQL01', user='user', password='password',

database='mydatabase') cur = conn.cursor()