使用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 23 Python
Python类方法__init__和__del__构造、析构过程分析
Mar 06 Python
浅谈Python中的闭包
Jul 08 Python
学习python之编写简单简单连接数据库并执行查询操作
Feb 27 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
基于Django contrib Comments 评论模块(详解)
Dec 08 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
python字典一键多值实例代码分享
Jun 14 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
Python用Try语句捕获异常的实例方法
Jun 26 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
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下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
PHP中的类型约束介绍
2015/05/11 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
[05:42]DOTA2英雄梦之声_第10期_蝙蝠骑士
2014/06/21 DOTA
python根据出生日期返回年龄的方法
2015/03/26 Python
在Python中使用__slots__方法的详细教程
2015/04/28 Python
python中使用序列的方法
2015/08/03 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
python获取栅格点和面值的实现
2020/03/10 Python
工作态度检讨书
2014/02/11 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
初中团支书竞选稿
2015/11/21 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
使用HttpSessionListener监听器实战
2022/03/17 Java/Android