使用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 相关文章推荐
Centos5.x下升级python到python2.7版本教程
Feb 14 Python
详解Python中的条件判断语句
May 14 Python
python小程序实现刷票功能详解
Jul 17 Python
Django多进程滚动日志问题解决方案
Dec 17 Python
Python实现病毒仿真器的方法示例(附demo)
Feb 19 Python
python对文件的操作方法汇总
Feb 28 Python
Python telnet登陆功能实现代码
Apr 16 Python
Python读取Excel数据并生成图表过程解析
Jun 18 Python
python中np是做什么的
Jul 21 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
Python如何实现机器人聊天
Sep 10 Python
Python3使用Selenium获取session和token方法详解
Feb 16 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合并数组+与array_merge的区别分析
2010/08/01 PHP
深入PHP变量存储的详解
2013/06/13 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
PHP使用函数用法详解
2018/09/30 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
js实现div色块碰撞
2020/01/16 Javascript
python中defaultdict的用法详解
2017/06/07 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
Python实现图片识别加翻译功能
2019/12/26 Python
pytorch模型存储的2种实现方法
2020/02/14 Python
利用python画出AUC曲线的实例
2020/02/28 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
苹果台湾官网:Apple台湾
2019/01/05 全球购物
中国梦我的梦演讲稿
2014/04/23 职场文书
离婚协议书的范本
2015/01/27 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技