第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()