Python自动化操作sqlite数据库
你好,我是悦创。
1. 什么是数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜。
2. 有哪些数据库
2.1 数据库类型
大型数据库:甲骨文Oracle。
分布式数据库:HBase。
中型数据库:SqlServer、Mysql、MariaDB、PostgreSQL、Redis等。
小型数据库:Sqlite、 Access 。
2.2 如何选择
大集团:Oracle、HBase。
发展中公司:PostgreSQL、Mysql。
app 的临时数据库:Sqlite。
2.3 Sqlite
- 方便携带、易于操作、随时创建、Python 原生支持的小型数据库文件。
- 轻型的数据库,遵守 ACID 的关系型数据库管理系统,它包含在一个相对小的 C 库中。
D.RichardHipp
建立的公有领域项目。- 设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。
- 支持 Windows/Linux/Unix 等等主流的操作系统。
- 能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java 等,还有 ODBC 接口。
- 比起 Mysql、PostgreSQL 这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。
- 第一个 Alpha 版本诞生于 2000年5月。 至 2015年已经有 15 个年头,SQLite 也迎来了一个版本 SQLite 3 已经发布。
- Python 自带 sqlite3 这个库,方便且直接的创建和读取 sqlite3 数据库。
3. sqlite 创建表格
3.1 sqlitestudio 介绍
本节内容的目的,是教大家如何在非代码的情况下,创建 sqlite3 数据库文件和表格编辑操作。
既然不写代码,就肯定需要借助软件来操作。本节课对应的源码中,准备好了 windows、macos、linux 三个系统的 sqlitestudio 软件,如下图:
windows 使用 zip;macos 使用 dmg;linux 使用 tar.xz;
sqlitestudio 是一款绿色软件,安装你的操作系统所对应的 sqlitestudio 软件,然后执行,就可以得到启动界面。
3.2 新建 sqlite 数据库文件
点击左上角的数据库,选择添加数据库,则会弹框,让你选择某个数据库文件,或者创建一个新的 sqlite 文件
点击黄色的文件夹,是指打开某个存在的 sqlite 文件。
点击 绿色的+
,是新建一个 sqlite 文件,并且你也需要指定存储的具体位置。
选择在三个 sqlitestudio 安装包旁边,新建一个名为 first.db
的文件,如下截图:
并且,文件也有对应的生成。
3.3 新增数据
回到 sqlitestudio 软件界面,打开刚新建的 first.db
,里面什么都没有,表格是空的,现在来新建一个表格。
鼠标右键点击 Tables,然后选择新建表格,在新出的界面中,写表格名、字段名和字段类型,如下图:
方法一:
方法二:
Table Name 表格名,输入具体名称。最上方框中的那个按钮,是增列字段的按钮,点击按钮弹出中间的字段信息,输入字段名、类型、大小等。
这里写了id title content author 四个字段信息,然后点击绿色的勾,保存表格即可。
保存了文件,重新刷新页面,就可以查看数据栏,如下:
点击绿色的+
号,然后增加几条数据,方便我们下节课的代码练习。图中有三条。
sqlitestudio 也要保留,方便我们下节课,查看代码练习的数据变化结果。
4. Python 链接和操作 sqlite
4.1 链接和查询代码
Python 自身携带 sqlite 库,不需要额外安装,直接使用即可。导入代码:
import sqlite3
导入代码之后,将 first.db
文件,放到代码文件旁边。这里用的是 py,所以是把 py 和 first.db
文件放一起,不放一起就只能使用绝对路径。如下图:
然后使用 sqlite3 库,链接 first.db
文件,代码 firstdb = sqlite3.connect('first.db')
正常运行后,写查询语句,从数据库中读取全部数据,如下代码:
# 查询语句
query_sql = "select * from info"
for result in firstdb.execute(query_sql):print(result)
完整代码:
# -*- coding: utf-8 -*-
# @Time : 2022/7/17 14:36
# @Author : AI悦创
# @FileName: main.py
# @Software: PyCharm
# @Blog :http://www.aiyc.top
# @公众号 :AI悦创
import sqlite3firstdb = sqlite3.connect("first.db")# 查询语句
query_sql = "select * from info"
for result in firstdb.execute(query_sql):print(result)
# firstdb.execute(): Executes an SQL statement./执行 SQL 语句。
print(list(firstdb.execute(query_sql)))
输出结构效果图:
这是最简单的查询语句。数据库都是支持查询、删除、增加、更新操作的。
4.2 删除数据操作
删除操作,将数据从数据库中移除,关键词 delete,先删除一条数据,如下代码:
# 删除特定数据
delete_sql = "delete from info where id = 1"firstdb.execute(delete_sql)
firstdb.commit()# 查询并输出
query_sql = "select * from info"
for result in firstdb.execute(query_sql):print(result)
运行结果如下图:
4.3 插入更多数据
增加的操作,关键词 add,使用 for 循环,先批量的增加一些数据:
# 插入数据
insert_sql = "insert into info(title, content, author) values ('第{}个标题', '随机的第{}个内容', '匿名')"
for i in range(10, 20):sql = insert_sql.format(i, i * 2)firstdb.execute(sql)firstdb.commit()# 查询并输出
query_sql = "select * from info"
for result in firstdb.execute(query_sql):print(result)
for 循环,从 10 循环到 20,不含 20,然后全部执行 sql 语句和提交到数据库。最后查询全部数据,看下有没有增多,如下结果图:
4.4 更新数据操作
数据有增加,最后更新数据,关键词 update,做个条件更新,id 大于等于 4 的数据,设置 author 为“不匿名”,如下代码:
# 更新数据
update_sql = "update info set author = '不匿名' where id >= 4"
firstdb.execute(update_sql)# 查询并输出
query_sql = "select * from info"
for result in firstdb.execute(query_sql):print(result)
最后的结果图如下:
以上就是 Python 操作 sqlite 的全部代码了。
【多选题】小练习
数据库支持哪些操作?
- 查询数据
- 新增数据
- 更新数据
- 删除数据
怎么批量更新数据呢?代码该如何编写呢?欢迎加我微信:Jiabcdefh,备注:进入自动化交流群。
该数据库是单数据库操作,不要打开多个,这样有可能会锁死。
Python自动化操作sqlite数据库相关推荐
- python操作sqlite数据库
SQLite数据库是一款轻量级的数据库,无服务器.零配置.事务性的SQL数据库引擎.SQLite是世界上最广泛部署的SQL数据库引擎,而且SQLite的源代码不受版权限制,是小型项目和简单web应用的 ...
- python ——操作sqlite 数据库
活动地址:CSDN21天学习挑战赛 目录 一,什么是sqlite数据库 1.1 sqlite数据库的功能特性 2,python操作sqlite 2.1 python sqlite3 模块 2.2 创建 ...
- python读数据库的通信协议是,Python操作SQLite数据库过程解析
SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统. 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分.所以主要的通信协 ...
- python数据库sqlite3_Python 操作 SQLite 数据库
本文字数:3808 字 阅读本文大概需要:10 分钟 写在之前 SQLite 是一个小型的关系型数据库,它最大的特点在于不需要单独的服务.零配置.我们在之前讲过的两个数据库,不管是 MySQL 还是 ...
- python数据库操作sqlite_Python3操作SQLite数据库
Python3操作SQLite数据库 SQLite SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目 ...
- python数据存储系列教程——python操作sqlite数据库:连接、增删查改、指令执行
全栈工程师开发手册 (作者:栾鹏) python教程全解 python操作sqlite数据库 sqlite数据库以.db格式的文件形式存在,所以不需要安装驱动和应用系统,在标准库中也集成了sqlite ...
- python对sqlite增删改查_Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】...
本文实例讲述了python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的 ...
- python操作sqlite数据库_Python 操作SQLite数据库的示例
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.在很多嵌入式产品中使用了它,它占用资源非常的低,python 中默认继承了操作此款数据库的引擎 sq ...
- js -- 操作sqlite数据库
最近看到一个使用js来操作sqlite数据库的,测试了一下,具体使用的是 js操作类: https://github.com/kripken/sql.js/(sqlite js 驱动) 异步请求:ht ...
最新文章
- Mybatis缓存机制理解及配置
- synchronized关键字以及实例锁 类锁
- 图片压缩大小java_压缩图片大小(Java源码)
- python100个内置函数详解_Python 63个内置函数详解
- AMD 芯片被曝大量安全漏洞,Linux 之父怒评!
- 从零学ELK系列(一):为什么要跟我学从零学ELK系列
- python对象的类型判断isinstance()、 type()
- eclipse svn SSL 错误
- “数据科学”课程群与 “数据科学导论”课程建设初探
- 开启fiddler之后电脑就断网
- 关于文件你必须了解的一些基本概念
- 学计算机买笔记本还是平板,学生买平板还是笔记本电脑好
- Arcpy处理月NDVI,最大合成法合成年NDVI
- 自然语言处理--信息模型
- Nature子刊 定制饮食去除半胱氨酸和蛋氨酸可诱导细胞自毁进而治疗脑瘤?
- 【ThreeJs】(2)照相机 | 正交投影照相机 | 透视投影照相机
- Bomb数据的存储与查询
- php在线考试系统 附源码(一)
- java线程状态研究
- 信道估计(channel estimation)图解——从SISO到MIMO原理介绍
热门文章
- HTML5是什么与什么合作推出的语言,知识解答:什么是H5广告?H5和HTML5是一回事吗?...
- Unity - 本地多人聚会游戏(OSC协议)
- 复联4上映,影院如何抓住热点做好会员拓客引流?
- AP广播多VLAN SSID
- OpenGL基础37:反射与折射
- java生成.exe文件
- Java时间工具类(获取上个月、获取月份1月1号时间戳、获取月份最后一天时间戳...)
- 整数反转leetcode java_【Java】【每日算法/刷穿 LeetCode】7. 整数反转(简单)
- 腊八节吃什么,青海的习俗是吃麦仁饭
- Android Studio 虚拟机安装搜狗输入法(实现输入中文)