使用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之集成开发环境(IDE)
Sep 12 Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 Python
基于随机梯度下降的矩阵分解推荐算法(python)
Aug 31 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 Python
python搜索包的路径的实现方法
Jul 19 Python
python3+django2开发一个简单的人员管理系统过程详解
Jul 23 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
基于Python的Jenkins的二次开发操作
May 12 Python
基于TensorFlow的CNN实现Mnist手写数字识别
Jun 17 Python
Python利器openpyxl之操作excel表格
Apr 17 Python
Python FuzzyWuzzy实现模糊匹配
Apr 28 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
杏林同学录(二)
2006/10/09 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
谈谈对JavaScript原生拖放的深入理解
2016/09/20 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
解决layui弹框失效的问题
2019/09/09 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
Python的历史与优缺点整理
2020/05/26 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
Net-A-Porter美国官网:全球时尚奢侈品名站
2017/02/11 全球购物
会计电算化专业个人的自我评价
2013/11/24 职场文书
乡村文明行动实施方案
2014/03/29 职场文书
装配出错检讨书
2014/09/23 职场文书
西游记读书笔记
2015/06/25 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
gojs实现蚂蚁线动画效果
2022/02/18 Javascript