python+sqlite3-数据库增删改查操作
python+sqlite3-数据库增删改查操作
目录
- python+sqlite3-数据库增删改查操作
- 01、sqlite数据库
- 02、下载数据库可视化工具
- 03、创建数据库
- 04、python连接数据库
- 05、查询数据
- 06、增加数据
- 07、修改数据
- 08、删除数据
- 09、数据库通用工具封装
- 10、完结
01、sqlite数据库
简介:SQLite,是一款轻型的数据库,它包含在一个相对小的C库中,很多嵌入式产品中使用了它,其中python就嵌入了它。 至2021年已经接近有21个年头,SQLite也迎来了一个版本 SQLite 3已经发布。
02、下载数据库可视化工具
简称:DB4S
全称:DB Browser for SQLite
简介:(DB4S) 是一种高质量、可视化、开源的工具,用于创建、设计和编辑与 SQLite 兼容的数据库文件。DB4S 适用于想要创建、搜索和编辑数据库的用户和开发人员。DB4S 使用熟悉的类似电子表格的界面,无需学习复杂的 SQL 命令。
下载连接:DB Browser for SQLite
03、创建数据库
注:本文以学生信息为数据库进行讲解
保存路径:python项目文件夹
数据库名:student_data
文件扩展名:.db
表名:student
字段:
名称 | 类型 | 非空 | 主键 | 自增 | 注释 |
---|---|---|---|---|---|
id | INTEGER | √ | √ | √ | 序号,自增,无需用户添加 |
sname | TEXT | √ | × | × | 学生姓名 |
sage | INTEGER | √ | × | × | 学生年龄 |
手动添加测试数据:
sname | sage |
---|---|
张三 | 18 |
李四 | 19 |
王五 | 20 |
图示:
04、python连接数据库
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# try-except:防止因连接失败导致程序崩溃
try:# 数据库文件路径db_file = 'student_data.db'# 连接数据库conn = sqlite3.connect(db_file)# 创建游标cour = conn.cursor()# 测试是否连接成功print('连接成功')# 关闭游标cour.close()# 关闭连接conn.close()
except Error as e:print('连接失败')
05、查询数据
(1)、查询所有student信息
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# try-except:防止因连接失败导致程序崩溃
try:# 数据库文件路径db_file = 'student_data.db'# 连接数据库conn = sqlite3.connect(db_file)# 创建游标cour = conn.cursor()# 编写sql语句# 查询语句sql:select 列名(*-所有列) from 表名 [where 条件]sql = 'select * from student'# 执行sql语句cour.execute(sql)# 打印查询结果print(cour.fetchall())# 关闭游标cour.close()# 关闭连接conn.close()
except Error as e:print('连接失败')
(2)、条件查询student信息
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# try-except:防止因连接失败导致程序崩溃
try:# 数据库文件路径db_file = 'student_data.db'# 连接数据库conn = sqlite3.connect(db_file)# 创建游标cour = conn.cursor()# 编写sql语句# 查询语句sql:select 列名(*-所有列) from 表名 [where 条件]# ?-占位符,在cour.execute()参数中,传入数据元组sql = 'select * from student where sname=?'# 构建数据元组name = ('张三',)# 执行sql语句cour.execute(sql, name)# 打印查询结果print(cour.fetchall())# 关闭游标cour.close()# 关闭连接conn.close()
except Error as e:print('连接失败')
06、增加数据
(1)、增加单条student信息
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# try-except:防止因连接失败导致程序崩溃
try:# 数据库文件路径db_file = 'student_data.db'# 连接数据库conn = sqlite3.connect(db_file)# 创建游标cour = conn.cursor()# 编写sql语句# 添加语句sql:INSERT INTO 表名(列名)# VALUES (<列1的值>,[<列2的值>,<列3的值>]);# ?-占位符,在cour.execute()参数中,传入数据元组# 由于id设置了自增,不需要我们进行输入sql = 'INSERT INTO student(sname, sage) VALUES (?, ?);'# 构建数据元组student_data = ('沐沐',18)# 执行sql语句cour.execute(sql, student_data)# 提交数据-同步到数据库文件-增删改查,除了查询以外有需要进行提交conn.commit()# 打印受影响的行数print(cour.rowcount)# 关闭游标cour.close()# 关闭连接conn.close()
except Error as e:print('连接失败')
(2)、增加多条student信息
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# try-except:防止因连接失败导致程序崩溃
try:# 数据库文件路径db_file = 'student_data.db'# 连接数据库conn = sqlite3.connect(db_file)# 创建游标cour = conn.cursor()# 编写sql语句# 添加语句sql:INSERT INTO 表名(列名)# VALUES (<列1的值>,[<列2的值>,<列3的值>]);# ?-占位符,在cour.execute()参数中,传入数据元组# 由于id设置了自增,不需要我们进行输入sql = 'INSERT INTO student(sname, sage) VALUES (?, ?);'# 构建数据元组列表student_data = [('沐风', 18), ('若若', 19), ('柜子', 20)]# 执行sql语句cour.executemany(sql, student_data)# 提交数据-同步到数据库文件-增删改查,除了查询以外有需要进行提交conn.commit()# 打印受影响的行数print(cour.rowcount)# 关闭游标cour.close()# 关闭连接conn.close()
except Error as e:print('连接失败')
07、修改数据
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# try-except:防止因连接失败导致程序崩溃
try:# 数据库文件路径db_file = 'student_data.db'# 连接数据库conn = sqlite3.connect(db_file)# 创建游标cour = conn.cursor()# 编写sql语句# 修改语句sql:UPDATE <表名># SET <列名1>=<值1>[,<列名2>=<值2>]# [WHERE <条件>];# ?-占位符,在cour.execute()参数中,传入数据元组# 由于id设置了主键、自增,不能修改sql = 'update student set sname=?, sage=? where id=?'# 构建数据元组student_data = ('小小', 18, 1)# 执行sql语句cour.execute(sql, student_data)# 提交数据-同步到数据库文件-增删改查,除了查询以外有需要进行提交conn.commit()# 打印受影响的行数print(cour.rowcount)# 关闭游标cour.close()# 关闭连接conn.close()
except Error as e:print('连接失败')
08、删除数据
(1)、删除单条student信息
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# try-except:防止因连接失败导致程序崩溃
try:# 数据库文件路径db_file = 'student_data.db'# 连接数据库conn = sqlite3.connect(db_file)# 创建游标cour = conn.cursor()# 编写sql语句# 删除语句sql:DELETE FROM 表名# WHERE <列名1>=<值1># ?-占位符,在cour.execute()参数中,传入数据元组sql = 'delete from student where id=?'# 构建数据元组student_data = (1,)# 执行sql语句cour.execute(sql, student_data)# 提交数据-同步到数据库文件-增删改查,除了查询以外有需要进行提交conn.commit()# 打印受影响的行数print(cour.rowcount)# 关闭游标cour.close()# 关闭连接conn.close()
except Error as e:print('连接失败')
(2)、删除多条student信息
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# try-except:防止因连接失败导致程序崩溃
try:# 数据库文件路径db_file = 'student_data.db'# 连接数据库conn = sqlite3.connect(db_file)# 创建游标cour = conn.cursor()# 编写sql语句# 删除语句sql:DELETE FROM 表名# WHERE <列名1>=<值1># ?-占位符,在cour.execute()参数中,传入数据元组sql = 'delete from student where id=?'# 构建数据元组列表student_data = [(2,), (3,), (4,)]# 执行sql语句cour.executemany(sql, student_data)# 提交数据-同步到数据库文件-增删改查,除了查询以外有需要进行提交conn.commit()# 打印受影响的行数print(cour.rowcount)# 关闭游标cour.close()# 关闭连接conn.close()
except Error as e:print('连接失败')
09、数据库通用工具封装
注:以查询student数据为例
封装原因:由于建立数据库连接和关闭游标、数据库连接等都是相同的执行语句,为了防止代码冗余,体现面向对象的编程思想
# 导入sqlite3模块
from sqlite3 import Error
import sqlite3# 连接数据库,返回连接对象-conn
def db_conn(db_file):# try-except:防止因连接失败导致程序崩溃try:# 连接数据库conn = sqlite3.connect(db_file)return connexcept Error as e:print('连接失败')return None# 关闭数据库,关闭游标
def close_db(cour, conn):close_cour = courclose_conn = connif close_cour != None:close_cour.close()close_conn.close()return Trueelse:return Falseif __name__ == '__main__':# 数据库文件路径db_file = 'student_data.db'stu_conn = db_conn(db_file)# 创建游标stu_cour = stu_conn.cursor()# 编写sql语句sql = 'select * from student'# 执行sql语句stu_cour.execute(sql)# 打印查询结果print(stu_cour.fetchall())# 关闭游标和数据库连接result = close_db(stu_cour, stu_conn)# 打印关闭结果print(result)
10、完结
恭喜你-学完了本教程-完结撒花-★,°:.☆( ̄▽ ̄)/$:.°★ 。
python+sqlite3-数据库增删改查操作相关推荐
- Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作
此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...
- java servlet dao_Java+MyEclipse+Tomcat 详解Servlet和DAO数据库增删改查操作(源码)
[实例简介] 该资源主要参考自己的博客http://blog.csdn.net/eastmount/article/details/45936121 讲诉Java+MyEclipse+Tomcat 详 ...
- Mybatis实现简单的数据库增删改查操作
简介: MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Ma ...
- codeigniter mysql_CI框架(CodeIgniter)实现的数据库增删改查操作总结
本文实例讲述了CI框架(CodeIgniter)实现的数据库增删改查操作.分享给大家供大家参考,具体如下: controllers下的 cquery.php文件 class CQuery extend ...
- python对sqlite增删改查_Python操作sqlite3数据库 增删改查
SQLite,是一款轻型的数据库,占用资源非常的低.这里记录下对sqlite3的增删改查相关操作,顺便复习一下SQL语句- -. 一.创建数据库 连接到一个现有的数据库.如果数据库不存在,那么它就会被 ...
- Python面向对象编程案例:封装数据库增删改查操作
问题描述:编写一个类,封装对SQLite数据库的增删改查操作,使得数据库操作更加友好,类的使用者不需要了解SQL语句的语法规则,只需要了解类的接口即可. 思考下面的问题,尝试着写一写,然后到达文末查看 ...
- Spring整合JDBCTemplate实现数据库增删改查操作
SpringJDBC: 正常jdbc连接数据库流程: 1.注册驱动 2. 获取连接 2. 获取Statement或者PreparedStatement对象 3. 执行sql操作 4. 处理结果集 查询 ...
- Python之MySQL数据库增删改查操作
一.插入操作 1.插入1 import pymysqldef get_conn():conn = pymysql.connect(host='localhost',port=3306,user='ro ...
- Android SQLite数据库增删改查操作
一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符 ...
- java连接mysql数据库增删改查_java连接mysql数据库增删改查操作记录
1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...
最新文章
- ibatis.net私人学习资料,勿下(加密)
- 【技术趋势】德勤发布2020技术趋势报告,五个新趋势可引发颠覆性变革
- 【Android 界面效果22】Android的Tab与TabHost
- 数据结构的简单理解(2)
- SAP Cloud for Customer OData v1和v2的区别
- 一个.NET Core开发者的Linux入门学习笔记
- jQuery对checkbox的操作(转载)
- Linux下程序开机启动
- ObjectDataProvider
- log4j.properties文件示例
- Markdown语法(一)标题段落分割线
- 如何优雅地(用TeX)写AI论文
- [LTE] LTE基本架构
- pyodbc linux 乱码,关于python:无法在Linux上安装pyodbc
- 【日语口语词典学习】第0003页
- 大一学计算机需要准备做东西,我是浙江大学大一的学生,以后打算学习计算机专业,想去卡耐基梅隆大学或MIT读研,不知道需要做哪些准备?...
- hexo(next)——每日一言、今日诗词
- 计算机键盘键盘一个按键坏了,我的世界:如果键盘坏掉一个键,六种情况,哪个会影响你玩MC?...
- python中的与或非 | ^
- 运动控制卡的函数库与Linux,运动控制卡应用开发教程之ROS(下)