使用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获取豆瓣电影简介代码分享
Jan 16 Python
python友情链接检查方法
Jul 08 Python
Python工程师面试题 与Python基础语法相关
Jan 14 Python
老生常谈python的私有公有属性(必看篇)
Jun 09 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
pandas重新生成索引的方法
Nov 06 Python
Python中捕获键盘的方式详解
Mar 28 Python
pandas DataFrame索引行列的实现
Jun 04 Python
Pandas中resample方法详解
Jul 02 Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 Python
pytorch使用tensorboardX进行loss可视化实例
Feb 24 Python
python 如何引入协程和原理分析
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
推荐一篇入门级的Class文章
2007/03/19 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
python简单的函数定义和用法实例
2015/05/07 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
python关于变量名的基础知识点
2020/03/03 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
人力资源管理专业应届生求职信
2013/09/28 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
教师远程培训感言
2014/03/06 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
践行三严三实心得体会
2014/10/13 职场文书
英雄儿女观后感
2015/06/09 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL