图形用户界面

Tkinter

Wxpython

Pythonwin

Java swing

PyGTK

pyQt

 

第五章 数据库支持

python数据库api

1 全局变量

Apilevel  版本

Threadsagety 线程安全等级

Paramstyle 参数风格

2 异常

 

3 连接和游标

连接 connect

参数

Dsn

User

Password

Host

Database

连接对象的方法:

Close()  关闭连接

Commit() 提交事务

Rollback() 回滚事务

Cursor()  返回游标

 

游标对象的方法:

Callproc(name[,params])

Close() 关游标

Execute(oper[,params]) 执行sql操作

Executemany(oper,pseq) 对序列中的每个参数执行sql

Fetchone() 把查询结果集中的下一行保存为序列

Fetchmany([size]) 获取查询结果集中的多行

Fetchall()  将所有行作为序列的序列

Nextset()  跳到下一个可用的结果集

Setinputsizes(size)  为参数预先定义内存区

Setoutputsize(size[,col]) 设置缓冲区

 

游标对象的属性

Description 只读序列

Rowcount 结果中的行数

Arraysize fetchmany中返回的行数

 

4类型

sqlitepysqlite

数据库应用程序示例:

#导入模块

import sqlite3

#创建数据库联接

conn=sqlite3.connect('message.db')

#取得联接的游标

curs=conn.cursor()

#创建数据库表

curs.execute('''create table message (id TEXT PRIMARY KEY,deviceID TEXT,content TEXT,remark TEXT)''')

#创建记录

vals=['1','dev1','test message','test remark']

#添加记录

query='INSERT INTO message VALUES (?,?,?,?)'

curs.execute(query,vals)

#扭亏为持久化到数据库中

conn.commit()

#关闭数据库

conn.close()

 

#数据库查询

import sqlite3,sys

conn=sqlite3.connect('message.db')

curs=conn.cursor()

 

query='select * from message'

print(query)

curs.execute(query)

names=[f[0] for f in curs.description]

for row in curs.fetchall():

    for pair in zip(names,row):

        print('%s:%s' % pair)

    print()

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐