python知识捡拾---数据库相关

assert语句用于检测某个条件表达式是否为真,if语句中的条件判断都可以使用assert语句检测

用dbhash模拟读写数据

DBM是一种文件式数据库,DBM采用哈希结构进行存储,是一种简单的数据库
dbhash模块主要的方法就是open(filename[,flag[,mode]]),其中filename表示数据库的名称,flag表示数据库的打开方式,'w’表示读或写数据库,'r’表示以只读的方式打开数据库,'c’表示创建数据库
实例:

import dbhash
db =dbhash.open('temp','c')   #创建并打开数据库
db['Tom']='Beijing road'     #写数据
db['Jerry']='Shanghai road'
for k,v in db.iteritems():    #遍历db对象
    print k,v
print "==========="
if db.has_key('Tom'):
    del db['Tom']
print db
db.close()         #关闭数据库
shelve模块读写数据

shelve模块是python的持久化对象模块,该模块与anydbm模块的用法相似,但是shelve模块返回字典的value值支持基本的python类型。
实例:

import shelve
addresses = shelve.open('addresses')#打开addresses数据库,如果addresses数据库不存在则创建该数据库
addresses['1'] = ['Tom','Beijing road','2008-01-03']
addresses['2'] = ['Jerry','Shanghai road','2008-03-30']
print addresses
#{'1': ['Tom', 'Beijing road', '2008-01-03'], '2': ['Jerry', 'Shanghai road', '2008-03-30']}
使用sqlite3模块访问sqlite数据库

连接sqlite数据库大致可以分为以下6个步骤:
1、导入sqlite3模块
2、调用connect()创建数据库连接,返回连接对象conn
3、调用conn.execute()方法创建表结构,并插入数据,如果设置了手动提交,需要调用conn.commit()提交插入或修改的数据
4、调用conn.cursor()方法返回游标,通过cursor.execute()方法查询数据库
5、调用cursor.fetchall(),cursor.fetchmany()或cursor.fetchone()返回查询结果
6、关闭cursor和conn
实例:

import sqlite3
#连接数据库
conn = sqlite3.connect("D:/sublime_python/day9/addresses.db")#连接该数据库,不存在则创建
#创建表
conn.execute("create table if not exists address(id integer primary key autoincrement,name varchar(128),address varchar(128))")
#插入数据
conn.execute("insert into address(name,address)values('Tom','Beijing road')")
conn.execute("insert into address(name,address)values('Jerry','Shanghai road')")
#手动提交数据
conn.commit()
#获取游标对象
cur=conn.cursor()
#使用游标查询数据
cur.execute("select * from address")
#获取所有结果
res = cur.fetchall()
print "address:",res
for line in res:
    for f in line:
        print f,
    print
#关闭连接
cur.close()
conn.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值