python操作sqlite的标准库_Python标准库之sqlite3使用实例

# By Vamei

import sqlite3

conn = sqlite3.connect("test.db")

c = conn.cursor()

books = [(1, 1, 'Cook Recipe', 3.12, 1),

(2, 3, 'Python Intro', 17.5, 2),

(3, 2, 'OS Intro', 13.6, 2),

]

# execute "INSERT"

c.execute("INSERT INTO category VALUES (1, 1, 'kitchen')")

# using the placeholder

c.execute("INSERT INTO category VALUES (?, ?, ?)", [(2, 2, 'computer')])

# execute multiple commands

c.executemany('INSERT INTO book VALUES (?, ?, ?, ?, ?)', books)

conn.commit()

conn.close()

插入数据同样可以使用execute()来执行完整的SQL语句。SQL语句中的参数,使用"?"作为替代符号,并在后面的参数中给出具体值。这里不能用Python的格式化字符串,如"%s",因为这一用法容易受到SQL注入攻击。

我也可以用executemany()的方法来执行多次插入,增加多个记录。每个记录是表中的一个元素,如上面的books表中的元素。

查询

在执行查询语句后,Python将返回一个循环器,包含有查询获得的多个记录。你循环读取,也可以使用sqlite3提供的fetchone()和fetchall()方法读取记录:

代码如下:

# By Vamei

import sqlite3

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

c = conn.cursor()

# retrieve one record

c.execute('SELECT name FROM category ORDER BY sort')

print(c.fetchone())

print(c.fetchone())

# retrieve all records as a list

c.execute('SELECT * FROM book WHERE book.category=1')

print(c.fetchall())

# iterate through the records

for row in c.execute('SELECT name, price FROM book ORDER BY sort'):

print(row)

更新与删除

你可以更新某个记录,或者删除记录:

本站所有资源全部来源于网络,若本站发布的内容侵害到您的隐私或者利益,请联系我们删除!

合作方式

Copyright © 2004-2018 https://www.gxlcms.com/. All Rights Reserved.

豫ICP备19030742号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值