使用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使用marshal模块序列化实例
Sep 25 Python
go语言计算两个时间的时间差方法
Mar 13 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 Python
Python简单获取自身外网IP的方法
Sep 18 Python
深入理解Python中变量赋值的问题
Jan 12 Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 Python
Python在OpenCV里实现极坐标变换功能
Sep 02 Python
opencv3/C++ 平面对象识别&透视变换方式
Dec 11 Python
解决Python Matplotlib绘图数据点位置错乱问题
May 16 Python
通过代码实例了解Python3编程技巧
Oct 13 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
用文本文件制作留言板提示(下)
2006/10/09 PHP
深入PHP curl参数的详解
2013/06/17 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
PHP安全的URL字符串base64编码和解码
2014/06/19 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
JQuery魔力之$("tagName")与selector
2012/03/05 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
PHP获取当前页面完整URL的方法
2016/12/02 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
python 正则式 概述及常用字符
2009/05/07 Python
python3 读写文件换行符的方法
2018/04/09 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
大学生学习生活的自我评价
2013/11/01 职场文书
校园广播稿500字
2014/02/04 职场文书
逃课上网检讨书
2014/02/20 职场文书
商场父亲节活动方案
2014/08/27 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
庆祝儿童节标语
2014/10/09 职场文书
评职称个人总结
2015/03/05 职场文书
军训决心书范文
2015/09/22 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers