python基础学习笔记——Python基础教程(第2版 修订版)第13章(数据库支持)

时间:2022-01-10 08:18:26

#python数据库API

#全局变量
apilevel #python DB API版本
threadsafety #模块线程安全等级 0表示线程完全不共享 3
paramstyle #SQL查询的参数风格

#异常

¥连接和游标

#connect函数常用参数
dsn
user
password
host
database

#连接方法
close()
commit()
rollback()
cursor()

#游标对象
callproc(name[,params])
...

游标对象特性
description
rowcount
arraysize

#类型

Date(year,month,day)
..
ROWID

#数据库应用程序示例

#将数据导入数据库
import sqlite3
def convert(value):
if value.startswith('~'):
return value.strip('~‘)
if not value:
value
='0'
return float(value)

conn
=sqlite3.connect(food.db')
curs=conn.cursor()

curs.execute(
'''
CREATE TABLE food(id TEXT PRIMARY KEY
water TEXT,
...
)
''')
query
='INSERT INTO VALUES (?,?,...)'
for line in open ('ABBBREC.txt、):
field=line.split('^')
vals
=【convert(f) for f in fields[:field_count]]
curs.execute(qury,vala)
comm.commiy()
comm.close()


#查询程序
import sqlite3,sys
conn
=sqlite3.connect(;food.db')
curs=conn.cursor()

qury
=\SELECT * FROM WHERE %s‘ %sys.argv[1]
print query
curs.ececute(query)
names
=[f【0】for f in curs.description]
for row in cura.fetchall()
for pair in zip(names.row):
print %s:%s %pair
print