使用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 logging
Apr 15 Python
python+opencv实现的简单人脸识别代码示例
Nov 14 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
深入浅析python 中的匿名函数
May 21 Python
在Python中获取两数相除的商和余数方法
Nov 10 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
在python3中使用shuffle函数要注意的地方
Feb 28 Python
Python的in,is和id函数代码实例
Apr 18 Python
matplotlib.pyplot.matshow 矩阵可视化实例
Jun 16 Python
Python实现提取PDF简历信息并存入Excel
Apr 02 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 基础教程(四)
2006/10/09 PHP
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
php利用header函数实现文件下载时直接提示保存
2009/11/12 PHP
php 文章调用类代码
2011/08/11 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
python2.7实现爬虫网页数据
2018/05/25 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
大学生职业生涯规划方案
2014/01/03 职场文书
品质口号大全
2014/06/17 职场文书
体育馆的标语
2014/06/24 职场文书
个人自查自纠材料
2014/10/14 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
教代会开幕词
2015/01/28 职场文书
详解python字符串驻留技术
2021/05/21 Python
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js