使用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编程中一些重用与缩减的建议
Apr 14 Python
python统计日志ip访问数的方法
Jul 06 Python
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
Eclipse中Python开发环境搭建简单教程
Mar 23 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
tensorflow创建变量以及根据名称查找变量
Mar 10 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
python cs架构实现简单文件传输
Mar 20 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
Python绘制组合图的示例
Sep 18 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 Python
python基础入门之普通操作与函数(三)
Jun 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
PHP网站基础优化方法小结
2008/09/29 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
PHP对象相关知识总结
2017/04/09 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
python轻松实现代码编码格式转换
2015/03/26 Python
Python Queue模块详细介绍及实例
2016/12/27 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
python从子线程中获得返回值的方法
2019/01/30 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
python tkinter基本属性详解
2019/09/16 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
laravel使用redis队列实例讲解
2021/03/23 PHP
家长学校实施方案
2014/03/15 职场文书
社区反邪教工作方案
2014/06/16 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
2015年教师节广播稿
2015/08/19 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
vue实现同时设置多个倒计时
2021/05/20 Vue.js
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby