文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python之Sqlite3数据库基本操作

2017-01-09 23:55

关注


	Python之Sqlite3数据库基本操作
[数据库教程]

在一些小的应用中,难免会用到数据库,Sqlite数据库以其小巧轻便,无需安装,移植性好著称,本文主要以一个简单的小例子,简述Python在Sqlite数据库方面的应用,仅供学习分享使用,如有不足之处,还请指正。

涉及知识点

  1. sqlite3是Python集成的内置类库,提供Python操作sqlite3的相关接口。
  2. sqlite3.connect(dbfile) 创建数据库连接,返回一个连接对象
  3. conn.cursor() 创建游标对象,通过返回的cursor对象,执行相应的SQL语句。
  4. cur.execute(sql, *args) 执行语句
  5. conn.commit() 提交执行的结果到数据库
  6. conn.rollback() 回退执行的结果
  7. cur.close() 关闭cursor对象
  8. conn.close() 关闭连接对象

基础操作代码

关于Python操作sqlite3的相关核心代码,如下所示:

创建数据表

技术图片
 1 def createDb():
 2     """创建db数据表"""
 3     sql = ‘‘‘
 4     create table person (
 5     id integer primary key  autoincrement  not null,
 6     name varchar not null,
 7     age integer
 8     )
 9     ‘‘‘
10     executeSql(sql)
View Code

插入语句

技术图片
1 def insertData(name, age):
2     """插入数据"""
3     sql = insert into person (name,age)values(?,?)
4     executeSql(sql, (name, age))
View Code

update语句

技术图片
1 def updateData(id, name, age):
2     """通过ID进行修改语句"""
3     sql = update  person set name=?,age =?  where id=?
4     executeSql(sql, (name, age, id))
View Code

delete语句

技术图片
1 def deleteData(id):
2     """通过ID删除数据"""
3     sql = delete from person  where id=?
4     executeSql(sql, (id,))
View Code

上面的语句都调用统一的executeSql方法,如下所示:

技术图片
 1 def executeSql(sql, *args):
 2     """执行更新语句"""
 3     conn = sqlite3.connect(dbfile)
 4     cur = conn.cursor()
 5     try:
 6         cur.execute(sql, *args)
 7         conn.commit()
 8         print(执行成功,影响行数:, cur.rowcount)
 9     except Exception as e:
10         conn.rollback()
11         print(e)
12         print(执行失败)
13     finally:
14         cur.close()
15         conn.close()
View Code

查询语句(无条件查询)

技术图片
1 def queryData():
2     """查询语句"""
3     sql = select id,name,age from person 
4     executeQuerySql(sql)
View Code

查询语句(条件查询)

技术图片
1 def queryDataById(id):
2     """通过id进行查询"""
3     sql = select id,name,age from person where id = ? 
4     executeQuerySql(sql, (id,))
View Code

上面的查询语句,都调用统一的executeQuerySql方法,如下所示:

技术图片
 1 def executeQuerySql(sql, *args):
 2     """执行查询语句,可带参数"""
 3     conn = sqlite3.connect(dbfile)
 4     cur = conn.cursor()
 5     try:
 6         cur.execute(sql, *args)
 7         persons = cur.fetchall()
 8         for p in persons:
 9             print(当前行信息如下:)
10             print(p)  # 返回的是一个元组tuple
11         print(查询成功)
12     except Exception as e:
13         print(e)
14         print(查询失败)
15     finally:
16         cur.close()
17         conn.close()
View Code

 关于本例子的执行源码,可通过链接进行下载,如下所示:

源码链接

备注

 业精于勤,荒于嬉;行成于思,毁于随!!!

Python之Sqlite3数据库基本操作

原文地址:https://www.cnblogs.com/hsiang/p/13382879.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯