同关系型数据库进行交互

import sqlite3

stocks = [
    ('GOOG', 100, 490.1), 
    ('AAPL', 50, 545.75),
    ('FB', 150, 7.45),
    ('HPQ', 75, 33.2), 
]

db = sqlite3.connect('database.db')

sqlite3.connect(database [,timeout ,other optional arguments])
该 API 打开一个到 SQLite 数据库文件 database 的链接。如果给定的数据库名称 filename 不存在,则该调用将创建一个数据库。如果不想在当前目录中创建数据库,可以指定带有路径的文件名,就能在任意地方创建数据库。
当一个数据库被多个连接访问,且其中一个修改了数据库,此时 SQLite 数据库被锁定,直到事务提交。timeout 参数表示连接等待锁定的持续时间,直到发生异常断开连接。timeout 参数默认是 5.0(5 秒)。


c = db.cursor()

创建一个cursor(游标),一旦有了游标,就可以执行SQL语句了


c.execute('create table portfolio (symbol text, shares integer, price real)')

执行一条SQL语句,创建表


c.executemany('insert into portfolio values (?,?,?)', stocks)

执行一条SQL语句,像表中插入4条记录
cursor.executemany(sql, seq_of_parameters),该例程对 seq_of_parameters 中的所有参数或映射执行一个 SQL 命令。


c.execute('insert into portfolio values ("Alibaba", 100, 600)')

执行一条SQL语句,像表中插入一条记录


db.commit()

该方法提交当前的事务。如果未调用该方法,那么自您上一次调用 commit() 以来所做的任何动作对其他数据库连接来说是不可见的。

 

for row in db.execute('select t.* from portfolio t'):
    print(row)

查询操作

min_price = 100
for row in db.execute('select t.* from portfolio t where t.price >= ?', 
                    (min_price,)):
    print(row)

如果想执行的查询操作需要接受用户提供的输入参数,确保用?隔开参数

 

db.close()
该方法关闭数据库连接。请注意,这不会自动调用 commit(),如果之前未调用 commit() 方法,就直接关闭数据库连接,您所做的所有更改将全部丢失!

db.rollback()
该方法回滚自上一次调用 commit() 以来对数据库所做的更改。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值