使用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操作xml文件示例
Apr 07 Python
Python中isnumeric()方法的使用简介
May 19 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
python 解压pkl文件的方法
Oct 25 Python
解决python中无法自动补全代码的问题
Dec 04 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
django中forms组件的使用与注意
Jul 08 Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 Python
使用WingPro 7 设置Python路径的方法
Jul 24 Python
scikit-learn线性回归,多元回归,多项式回归的实现
Aug 29 Python
pytorch程序异常后删除占用的显存操作
Jan 13 Python
Python使用BeautifulSoup4修改网页内容
May 20 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
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
json的使用小结
2016/06/08 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
python中时间模块的基本使用教程
2019/05/14 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
护士检查书
2014/01/17 职场文书
三八妇女节标语
2014/10/09 职场文书
学校国庆节活动总结
2015/03/23 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
Nginx利用Logrotate实现日志分割
2022/05/20 Servers