使用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的框架中为MySQL实现restful接口的教程
Apr 08 Python
使用python实现省市三级菜单效果
Jan 20 Python
python保存数据到本地文件的方法
Jun 23 Python
Django开发的简易留言板案例详解
Dec 04 Python
wxPython实现分隔窗口
Nov 19 Python
python/Matplotlib绘制复变函数图像教程
Nov 21 Python
python实现图片上添加图片
Nov 26 Python
python datetime处理时间小结
Apr 16 Python
Django中的模型类设计及展示示例详解
May 29 Python
python 绘制正态曲线的示例
Sep 24 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
浅析Python的命名空间与作用域
Nov 25 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 危险函数解释 分析
2009/04/22 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
php的dl函数用法实例
2014/11/06 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
python简单判断序列是否为空的方法
2015/06/30 Python
解析Python中的__getitem__专有方法
2016/06/27 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
python如何使用腾讯云发送短信
2020/09/17 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
代码中finally中的代码会不会执行
2012/02/06 面试题
2014年精神文明建设工作总结
2014/11/19 职场文书
华山导游词
2015/02/03 职场文书
岳庙导游词
2015/02/04 职场文书
先进教师个人总结
2015/02/11 职场文书
初一数学教学反思
2016/02/17 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书