python sqlite库_[Python常用库]sqlite

sqlite 是一个嵌入到应用程序内的关系数据库,可以将数据保存到内存或文件

中,数据直接在进程内部通过本地API访问,没有网络通信,适合开发本地应用。

sqlite库不支持ORM,要想使用ORM,推荐的库是SQLALchemy

import sqlite3

def test_sqlite3():

# 连接到内存数据库,这里可以指定一个本地文件名来创建数据库连接

conn = sqlite3.connect(':memory:')

# 获得游标

c = conn.cursor()

# 创建数据库

c.execute('''CREATE TABLE stocks

(date text, trans text, symbol text, qty real, price real)''')

# 插入一行记录

c.execute("INSERT INTO stocks VALUES "

"('2006-01-05','BUY','RHAT',100,35.14)")

# 查询记录

# 注意,文档中警告过不要用下面这种方式拼装查询语句

# symbol = 'RHAT'

# c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)

# 而应该用?方式,让sql引擎来做这个工作,用元组来传递参数

c.execute('SELECT * FROM stocks WHERE symbol=?', ('RHAT',))

print c.fetchone()

# 游标数据读取后,其内部会自动移动到下一行,因此要重新获取

c.execute('SELECT * FROM stocks WHERE symbol=?', ('RHAT',))

print c.fetchall()

c.execute('SELECT * FROM stocks WHERE symbol=?', ('RHAT',))

for x in c:

print x

# execute返回的就是游标本身

q = c.execute('SELECT * FROM stocks WHERE symbol=?', ('RHAT',))

assert q == c

# 提交

conn.commit()

# 关闭数据库连接

conn.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值