使用Python对SQLite数据库操作


Posted in Python onApril 06, 2017

SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在IOS和Android的APP中都可以集成。

Python内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用。

在使用SQLite前,我们先要搞清楚几个概念:

表是数据库中存放关系数据的集合,一个数据库里面通常都包含多个表,比如学生的表,班级的表,学校的表,等等。表和表之间通过外键关联。

要操作关系数据库,首先要连接到数据库,一个数据库连接称为Connection。

连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。

一、连接数据库

import sqlite3
#数据库名
db_name = "test.db"
#表名
table_name = "catalog"
conn = sqlite3.connect(db_name)

二、打开游标

rs = conn.cursor()

三、建表

sql = 'create table ' + table_name + ' (id varchar(20) primary key, pid integer, name varchar(10))'
try:
 rs.execute(sql)
 print("建表成功")
except:
 print("建表失败")

四、增,删,改,查操作

# 增:增加三条记录
sql = "Insert into " + table_name + " values ('001', 1, '张三')"
try:
 rs.execute(sql)
 #提交事务
 conn.commit()
 print("插入成功")
except:
 print("插入失败")
sql = "Insert into " + table_name + " values ('002', 2, '李四')"
try:
 rs.execute(sql)
 #提交事务
 conn.commit()
 print("插入成功")
except:
 print("插入失败")
sql = "Insert into " + table_name + " values ('003', 3, '王五')"
try:
 rs.execute(sql)
 #提交事务
 conn.commit()
 print("插入成功")
except:
 print("插入失败")
# 删:删除pid等于3的记录
sql = "Delete from " + table_name + " where pid = 3"
try:
 rs.execute(sql)
 conn.commit()
 print("删除成功")
except:
 print("删除失败")
# 改:将pid等于2的记录的pid改为1
sql = "Update " + table_name + " set pid = 1 where pid = 2"
try:
 rs.execute(sql)
 conn.commit()
 print("修改成功")
except:
 print("修改失败")
# 查
# 查询数据库中所有表名
sql = "Select name From sqlite_master where type = 'table'"
res = rs.execute(sql)
print(res.fetchall())
# 查询表中所有记录
sql = "Select * from " + table_name
try: 
 res = rs.execute(sql)
 print(res.fetchall())
except:
 print([])

五、关闭游标

rs.close()

六、关闭数据库连接

conn.close()

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Python 相关文章推荐
采用python实现简单QQ单用户机器人的方法
Jul 03 Python
python定时器(Timer)用法简单实例
Jun 04 Python
python编程羊车门问题代码示例
Oct 25 Python
python文件拆分与重组实例
Dec 10 Python
python学生管理系统
Jan 30 Python
基于Python的ModbusTCP客户端实现详解
Jul 13 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
python 魔法函数实例及解析
Sep 25 Python
Python numpy线性代数用法实例解析
Nov 15 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
解决python对齐错误的方法
Jul 16 Python
python tqdm库的使用
Nov 30 Python
使用Python对MySQL数据操作
Apr 06 #Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
Apr 05 #Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 #Python
由浅入深讲解python中的yield与generator
Apr 05 #Python
Python中shutil模块的学习笔记教程
Apr 04 #Python
python 遍历字符串(含汉字)实例详解
Apr 04 #Python
python模拟登录并且保持cookie的方法详解
Apr 04 #Python
You might like
php+mysql事务rollback&commit示例
2010/02/08 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
AngularJS入门教程中SQL实例详解
2016/07/27 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
HTML的select控件美化
2017/03/27 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
python进阶教程之异常处理
2014/08/30 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python3的socket使用方法详解
2020/02/18 Python
python简单实现插入排序实例代码
2020/12/16 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
如何打开WebSphere远程debug
2014/10/10 面试题
武汉东之林科技有限公司机试
2013/09/17 面试题
优秀学生干部推荐材料
2014/02/03 职场文书
爱心捐款倡议书
2014/04/14 职场文书
2014年公务员工作总结
2014/11/18 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android