#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