【100天精通python】Day33:使用python操作数据库_SQLite数据库的使用与实战
目录
专栏导读
1 SQLite 简介
2 SQLite数据库安装及使用
2.1 检查 SQLite 支持
2.2 创建数据库文件
2.2.1 使用 Python 创建数据库文件:
2.2.2 使用命令行创建数据库文件:
2.3 连接到 SQLite 数据库:
3 SQLite 中常用的SQL语句
3.1 SQL语句概述
3.2 SQLite 中常用的SQL 语句
(1)创建表:
(2)插入数据:
(3)查询数据:
(4) 更新数据:
(5) 删除数据:
(6)过滤数据:
(7)排序数据:
(8)计算统计:
(9)连接表:
(10)分组数据:
4 操作SQLite
5 SQLite 实战
5.1 实战1 创建一个简单的任务管理应用
5.2 实战2 创建一个任务管理应用,扩展编辑和删除任务
5.3 实战3 实现用户数据增删查看修改等
专栏导读
专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html
1 SQLite 简介
SQLite 是一种嵌入式关系型数据库管理系统(RDBMS),以其轻量、高效和易用而闻名。它是一个自包含的、无服务器的数据库引擎,将整个数据库存储在一个单一的文件中。SQLite 不需要独立的服务器进程,而是直接在应用程序中嵌入,因此适用于嵌入式系统、移动应用和桌面应用等多种环境。
以下是 SQLite 的一些重要特点和优势:
轻量和快速:SQLite 是一个轻量级的数据库引擎,不占用太多内存或资源。它在访问和查询数据时非常快速,特别适合小型项目和移动应用。
零配置:与其他数据库不同,SQLite 不需要独立的服务器进程,无需复杂的配置。只需一个文件,你就可以开始存储和查询数据。
自包含:SQLite 数据库存储在单个文件中,这使得备份、迁移和共享数据库变得非常简单。
无需专门管理:由于 SQLite 是嵌入式的,它不需要独立的数据库管理员(DBA)来管理和维护,减轻了数据库管理的负担。
支持多种编程语言:SQLite 支持多种编程语言,包括 C/C++、Python、Java、C#、PHP 等,使开发者可以在自己熟悉的语言中使用。
事务支持:SQLite 支持事务处理,确保数据的一致性和完整性。你可以使用事务来执行一组操作,要么全部成功,要么全部回滚。
开源和跨平台:SQLite 是开源的,可以在不同的操作系统上运行,包括 Windows、macOS、Linux 等。
尽管 SQLite 适用于许多场景,但它并不适合大规模、高并发的应用,因为它不支持多用户同时写入(写入锁定)等复杂的数据库操作。然而,在许多轻量级和中小规模项目中,SQLite 提供了一种简单、快速、易用的数据库解决方案。
2 SQLite数据库安装及使用
SQLite 是一个嵌入式数据库,通常无需单独安装,因为它已经作为 Python 的标准库的一部分。这意味着你可以在 Python 中直接使用 SQLite,而不需要安装额外的软件。以下是如何使用 Python 中的 SQLite:
2.1 检查 SQLite 支持
大多数情况下,Python 已经默认包含了 SQLite 支持。你可以在 Python 交互式环境中运行以下代码,检查是否支持 SQLite:
import sqlite3
print(sqlite3.sqlite_version)
输出如下,如果输出显示了 SQLite 版本号,则说明你的 Python 支持 SQLite。
2.2 创建数据库文件
在 SQLite 中,数据库文件会在第一次连接数据库时自动创建,如果文件不存在的话。你无需手动创建数据库文件,而是在连接时指定数据库文件的名称,如果该文件不存在,SQLite 将会创建一个新的数据库文件。
2.2.1 使用 Python 创建数据库文件:
你可以使用以下代码来创建一个名为 mydatabase.db
的数据库文件并连接到它:
import sqlite3# 连接到 SQLite 数据库(如果不存在则会创建)
conn = sqlite3.connect('mydatabase.db')# 关闭连接
conn.close()
在这个示例中,
sqlite3.connect()
函数的参数是数据库文件的名称,即'mydatabase.db'
。如果该文件不存在,SQLite 会自动创建一个新的数据库文件。请注意,数据库文件将会在与你的 Python 脚本相同的目录下创建。如果你希望将数据库文件保存在特定的目录中,你需要提供完整的路径。在连接到数据库时,SQLite 将检查指定的路径是否存在,如果不存在则会创建相应的数据库文件。
总之,你不需要手动创建 SQLite 数据库文件,只需要在连接时指定数据库文件的名称或路径即可。
2.2.2 使用命令行创建数据库文件:
如果你想在命令行中创建数据库文件,你可以使用 SQLite 的命令行工具。打开终端或命令行窗口,然后执行以下命令:
sqlite3 mydatabase.db
这将会打开一个 SQLite 命令行会话,同时创建了一个名为 mydatabase.db
的数据库文件。在 SQLite 命令行会话中,你可以执行 SQL 语句来创建表、插入数据等操作。
无论你是使用 Python 还是命令行,只要连接到一个不存在的数据库文件,SQLite 都会自动创建该数据库文件。
2.3 连接到 SQLite 数据库:
你可以使用 sqlite3.connect()
函数连接到 SQLite 数据库文件。如果指定的数据库文件不存在,它会被创建。
import sqlite3# 连接到 SQLite 数据库(如果不存在则会创建)
conn = sqlite3.connect('mydatabase.db')
3 SQLite 中常用的SQL语句
3.1 SQL语句概述
SQL(Structured Query Language)是一种用于管理关系型数据库的标准化查询语言。它用于执行各种数据库操作,包括数据的查询、插入、更新、删除以及定义数据库结构等。以下是 常用的SQL 语句:
DDL(Data Definition Language): 数据定义语言用于定义和管理数据库的结构,包括表、列、索引等。
CREATE TABLE
:创建数据表。ALTER TABLE
:修改数据表结构。DROP TABLE
:删除数据表。CREATE INDEX
:创建索引。DML(Data Manipulation Language): 数据操作语言用于执行数据的增删改查操作。
SELECT
:查询数据。INSERT INTO
:插入数据。UPDATE
:更新数据。DELETE FROM
:删除数据。DQL(Data Query Language): 数据查询语言用于查询和检索数据。
SELECT
:用于从数据库中检索数据。DCL(Data Control Language): 数据控制语言用于管理数据库的权限和访问控制。
GRANT
:授予用户或角色访问权限。REVOKE
:撤销用户或角色的访问权限。TCL(Transaction Control Language): 事务控制语言用于管理数据库中的事务操作。
COMMIT
:提交事务。ROLLBACK
:回滚事务。SAVEPOINT
:设置保存点,以便在事务中进行部分回滚。SQL 语句是用于与数据库交互的关键工具。无论是创建数据库结构、执行数据操作,还是从数据库中检索信息,SQL 都为开发者提供了强大的工具来管理和处理数据。不同的关系型数据库系统可能在一些语法和功能上有所不同,但 SQL 的核心语法通常是通用的。
3.2 SQLite 中常用的SQL 语句
SQLite 支持标准的 SQL 语法,以下是一些在 SQLite 中常用的 SQL 语句示例:
(1)创建表:
使用 CREATE TABLE
语句创建数据表。
CREATE TABLE users (id INTEGER PRIMARY KEY,username TEXT NOT NULL,email TEXT UNIQUE,age INTEGER
);
(2)插入数据:
使用 INSERT INTO
语句插入数据到数据表中。
INSERT INTO users (username, email, age)
VALUES ('user1', 'user1@example.com', 25);
(3)查询数据:
使用 SELECT
语句查询数据。
SELECT * FROM users;
(4) 更新数据:
使用 UPDATE
语句更新数据。
UPDATE users
SET age = 30
WHERE username = 'user1';
(5) 删除数据:
使用 DELETE FROM
语句删除数据。
DELETE FROM users
WHERE username = 'user1';
(6)过滤数据:
使用 WHERE
子句来过滤数据。
SELECT * FROM users
WHERE age > 25;
(7)排序数据:
使用 ORDER BY
子句来排序数据。
SELECT * FROM users
ORDER BY age DESC;
(8)计算统计:
使用聚合函数(如 COUNT
、SUM
、AVG
)来计算统计信息。
SELECT COUNT(*) FROM users;
SELECT AVG(age) FROM users;
(9)连接表:
使用 JOIN
语句连接多个数据表。
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
(10)分组数据:
使用 GROUP BY
子句分组数据。
SELECT gender, AVG(age) FROM users
GROUP BY gender;
4 操作SQLite
操作 SQLite 数据库涉及创建连接、创建游标、执行 SQL 语句、处理数据等步骤。以下是一个简单的示例,演示了如何使用 Python 的 sqlite3
模块来操作 SQLite 数据库:
import sqlite3# 连接到 SQLite 数据库(如果不存在则会创建)
conn = sqlite3.connect('mydatabase.db')# 创建游标对象
cursor = conn.cursor()# 创建数据表
create_table_query = '''
CREATE TABLE IF NOT EXISTS books (id INTEGER PRIMARY KEY,title TEXT NOT NULL,author TEXT,price REAL
)
'''
cursor.execute(create_table_query)# 插入数据
insert_query = 'INSERT INTO books (title, author, price) VALUES (?, ?, ?)'
data = [('Book A', 'Author A', 19.99),('Book B', 'Author B', 29.99),('Book C', 'Author C', 9.99)]
cursor.executemany(insert_query, data)# 提交事务
conn.commit()# 查询数据
select_query = 'SELECT * FROM books'
cursor.execute(select_query)
rows = cursor.fetchall()
for row in rows:print(row)# 关闭游标和连接
cursor.close()
conn.close()
输出
在这个示例中,我们首先创建了一个数据库连接,然后创建了一个游标对象。接着,我们执行 SQL 语句来创建数据表、插入数据和查询数据。最后,我们提交事务并关闭游标和连接。
5 SQLite 实战
SQLite 在许多轻量级和中小型项目中都有很好的应用。
5.1 实战1 创建一个简单的任务管理应用
以下是一个 SQLite 实战示例,展示了如何创建一个简单的任务管理应用,其中包括创建任务、列出任务、标记任务为完成等功能。
import sqlite3# 连接到 SQLite 数据库(如果不存在则会创建)
conn = sqlite3.connect('task_manager.db')# 创建游标对象
cursor = conn.cursor()# 创建数据表
create_table_query = '''
CREATE TABLE IF NOT EXISTS tasks (id INTEGER PRIMARY KEY,title TEXT NOT NULL,description TEXT,completed BOOLEAN
)
'''
cursor.execute(create_table_query)def create_task(title, description):insert_query = 'INSERT INTO tasks (title, description, completed) VALUES (?, ?, ?)'cursor.execute(insert_query, (title, description, False))conn.commit()print("Task created successfully.")def list_tasks():select_query = 'SELECT * FROM tasks'cursor.execute(select_query)tasks = cursor.fetchall()for task in tasks:print(f"Task ID: {task[0]}, Title: {task[1]}, Completed: {task[3]}")def mark_task_completed(task_id):update_query = 'UPDATE tasks SET completed = ? WHERE id = ?'cursor.execute(update_query, (True, task_id))conn.commit()print("Task marked as completed.")# 创建任务
create_task("Buy groceries", "Get milk, eggs, and bread")# 列出任务
list_tasks()# 标记任务为完成
task_id_to_complete = 1
mark_task_completed(task_id_to_complete)# 列出更新后的任务列表
list_tasks()# 关闭游标和连接
cursor.close()
conn.close()
输出:
在这个示例中,我们创建了一个
tasks
数据表,用于存储任务的信息。我们实现了三个基本功能:创建任务、列出任务和标记任务为完成。确保你已经安装了
sqlite3
模块,通常它已经作为 Python 的标准库的一部分。在实际应用中,你可能还需要进行更多的错误处理、用户界面设计等,以满足实际需求。
5.2 实战2 创建一个任务管理应用,扩展编辑和删除任务
当涉及编辑和删除任务时,我们可以添加相应的功能来实现这些操作。以下是一个扩展了编辑和删除任务功能的 SQLite 实战示例:
import sqlite3# 连接到 SQLite 数据库(如果不存在则会创建)
conn = sqlite3.connect('task_manager.db')# 创建游标对象
cursor = conn.cursor()# 创建数据表
create_table_query = '''
CREATE TABLE IF NOT EXISTS tasks (id INTEGER PRIMARY KEY,title TEXT NOT NULL,description TEXT,completed BOOLEAN
)
'''
cursor.execute(create_table_query)def create_task(title, description):insert_query = 'INSERT INTO tasks (title, description, completed) VALUES (?, ?, ?)'cursor.execute(insert_query, (title, description, False))conn.commit()print("Task created successfully.")def list_tasks():select_query = 'SELECT * FROM tasks'cursor.execute(select_query)tasks = cursor.fetchall()for task in tasks:print(f"Task ID: {task[0]}, Title: {task[1]}, Completed: {task[3]}")def mark_task_completed(task_id):update_query = 'UPDATE tasks SET completed = ? WHERE id = ?'cursor.execute(update_query, (True, task_id))conn.commit()print("Task marked as completed.")def edit_task(task_id, new_title, new_description):update_query = 'UPDATE tasks SET title = ?, description = ? WHERE id = ?'cursor.execute(update_query, (new_title, new_description, task_id))conn.commit()print("Task edited successfully.")def delete_task(task_id):delete_query = 'DELETE FROM tasks WHERE id = ?'cursor.execute(delete_query, (task_id,))conn.commit()print("Task deleted successfully.")# 创建任务
create_task("Buy groceries", "Get milk, eggs, and bread")# 编辑任务
edit_task(1, "Buy groceries", "Get milk, eggs, bread, and fruits")# 列出任务
list_tasks()# 删除任务
delete_task(1)# 列出更新后的任务列表
list_tasks()# 关闭游标和连接
cursor.close()
conn.close()
5.3 实战3 实现用户数据增删查看修改等
以下是一个使用 SQLite 数据库的案例,展示了如何实现新增用户数据、查看用户数据、修改用户数据和删除用户数据等操作:
import sqlite3# 连接到 SQLite 数据库(如果不存在则会创建)
conn = sqlite3.connect('user_database.db')# 创建游标对象
cursor = conn.cursor()# 创建数据表
create_table_query = '''
CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY,username TEXT NOT NULL,email TEXT NOT NULL,age INTEGER
)
'''
cursor.execute(create_table_query)def create_user(username, email, age):insert_query = 'INSERT INTO users (username, email, age) VALUES (?, ?, ?)'cursor.execute(insert_query, (username, email, age))conn.commit()print("User created successfully.")def list_users():select_query = 'SELECT * FROM users'cursor.execute(select_query)users = cursor.fetchall()for user in users:print(f"User ID: {user[0]}, Username: {user[1]}, Email: {user[2]}, Age: {user[3]}")def edit_user(user_id, new_username, new_email, new_age):update_query = 'UPDATE users SET username = ?, email = ?, age = ? WHERE id = ?'cursor.execute(update_query, (new_username, new_email, new_age, user_id))conn.commit()print("User information edited successfully.")def delete_user(user_id):delete_query = 'DELETE FROM users WHERE id = ?'cursor.execute(delete_query, (user_id,))conn.commit()print("User deleted successfully.")# 创建用户
create_user("user1", "user1@example.com", 25)# 查看用户列表
list_users()# 修改用户信息
edit_user(1, "updated_user1", "updated@example.com", 30)# 查看更新后的用户列表
list_users()# 删除用户
delete_user(1)# 查看删除后的用户列表
list_users()# 关闭游标和连接
cursor.close()
conn.close()
输出:
在这个案例中,我们创建了一个
users
数据表,用于存储用户的信息。我们实现了四个基本功能:创建用户、查看用户列表、编辑用户信息和删除用户。这些功能的实现都依赖于 SQL 的INSERT
、SELECT
、UPDATE
和DELETE
语句。
相关文章:

【100天精通python】Day33:使用python操作数据库_SQLite数据库的使用与实战
目录 专栏导读 1 SQLite 简介 2 SQLite数据库安装及使用 2.1 检查 SQLite 支持 2.2 创建数据库文件 2.2.1 使用 Python 创建数据库文件: 2.2.2 使用命令行创建数据库文件: 2.3 连接到 SQLite 数据库: 3 SQLite 中常用的SQL语句…...

通过将信号频谱与噪声频谱进行比较,自动检测适当的带通滤波器转折频率研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

【Sklearn】基于多层感知器算法的数据分类预测(Excel可直接替换数据)
【Sklearn】基于多层感知器算法的数据分类预测(Excel可直接替换数据) 1.模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 多层感知器(Multilayer Perceptron,MLP)是一种前馈神经网络,用于解决分类和回归问题。它包含输入层、若干个隐…...

在 Windows 中恢复数据的 5 种方法
发生数据丢失的原因有多种。无论是因为文件被意外删除、文件系统或操作系统损坏,还是由于软件或硬件级别的存储故障,数据都会在您最意想不到的时候丢失。今天我们重点介绍五种数据恢复方法,以应对意外情况的发生。 1.从另一台机器启动硬盘 如…...

配置使用Gitee账号认证登录Grafana
三方社会化身份源 集成gitee第三方登录 第三方登录的原理 所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。 举例来…...

使用 Flask 部署 Next.js
原文 使用 Flask 部署 Next.js Flask 和 Next.js 是两个独特的开源 Web 框架,分别构建在 Python 和 JavaScript 编程语言之上。 您可以在没有 Next.js 的情况下构建 Flask 应用程序,也可以在没有 Flask 的情况下构建 Next.js 应用程序。但是࿰…...

网络安全--iptables
总结: iptables 的关键概念和功能: 规则(Rules): iptables 使用规则来定义特定的操作,例如允许或拒绝特定类型的网络流量。每条规则都由条件和操作组成。条件可以是源 IP 地址、目标 IP 地址、端口号等&a…...

【猿灰灰赠书活动 - 02期】- 【Java从入门到精通2023年7月最新(第7版)】
说明:博文为大家争取福利,与清华大学出版社合作进行送书活动 图书:《Java从入门到精通》 一、好书推荐 图书介绍 Java入门经典,95万Java程序员的入行选择。配备升级版Java开发资源库,在线大咖课在线答疑,学…...

Springboot 设置统一的请求返回格式
现在开发过程中主要采用前后端分离的方式进行开发测试,也就是前端封装请求,后端提供标准的API接口服务。一般现在json 格式受到开发者们的青睐,学习过程中我们可以设置接口的返回类型,那么怎么做到设置统一的返回格式呢࿱…...

logstash日志换行处理小解
logstash主用于日志实时数据收集、解析,并将数据转发的工具,内置的功能也相当强大。但,同时意味着,他可能接收到各种情况的数据。 此处,我们主要讲解我实际使用中,碰到的一个小问题,换行(\n)。…...

openpnp - 做一个抛料盒
文章目录 openpnp - 做一个抛料盒概述效果图零件 - 抛料盒主体零件 - 磁铁仓盖板END openpnp - 做一个抛料盒 概述 8mm散料飞达做回来了, 上面用的长方形磁铁(4x6x10mm)透过0.8mm的3D打印薄壁, 和固定铁板的吸力很大, 用磁力固定的非常好. 正好缺一个抛料盒, 就按照散料飞达的…...

数据结构——单链表的实现(c语言版)
前言 单链表作为顺序表的一种,了解并且熟悉它的结构对于我们学习更加复杂的数据结构是有一定意义的。虽然单链表有一定的缺陷,但是单链表也有它存在的价值, 它也是作为其他数据结构的一部分出现的,比如在图,哈希表中。…...

【计算机组成原理】24王道考研笔记——第四章 指令系统
第四章 指令系统 一、指令系统 指令是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该 机的指令系统,也称为指令集。 指令格式: 1.1分类 按地址码数目分类: 按指令长度分类&…...

C#使用FileInfo和DirectoryInfo类来执行文件和文件夹操作
System.IO.FileInfo 和 System.IO.DirectoryInfo 是C#中用于操作文件和文件夹的类,它们提供了许多有用的方法和属性来管理文件和文件夹。 System.IO.FileInfo: FileInfo 类用于操作单个文件的信息和内容。以下是一些常用的方法和属性: Exi…...

每日一学——TCP/IP参考模型
TCP/IP参考模型是一个用于网络通信的分层架构,它定义了一组协议,这些协议实现了计算机之间的数据传输。TCP/IP参考模型分为四层: 应用层(Application Layer):应用层是网络应用程序与网络之间的接口层。它提…...

LAXCUS分布式操作系统:技术创新引领高性能计算与人工智能新时代
随着科技的飞速发展,高性能计算、并行计算、分布式计算、大数据、人工智能等技术在各个领域得到了广泛应用。在这个过程中,LAXCUS分布式操作系统以其卓越的技术创新和强大的性能表现,成为了业界的佼佼者。本文将围绕LAXCUS分布式操作系统的技…...

两只小企鹅(Python实现)
目录 1 和她浪漫的昨天 2 未来的旖旎风景 3 Python完整代码 1 和她浪漫的昨天 是的,春天需要你。经常会有一颗星等着你抬头去看; 和她一起吹晚风吗﹖在春天的柏油路夏日的桥头秋季的公园寒冬的阳台; 这世界不停开花,我想放进你心里一朵&am…...

Linux | 使用wget命令调用服务接口
关注wx: CodingTechWork 引言 在docker容器中,想要调用某个服务接口,发现没有安装curl命令,但是有wget命令。本次总结一下wget的使用。 wget命令实践 容器访问 查看容器 docker ps进入容器 docker exec -it <container_id&…...

POJ Prime Path 埃氏筛法+广度优先搜索
思路:用埃氏筛法打个表,然后bfs即可 #include <iostream> #include <queue> using namespace std; typedef long long ll; ll inf 0x3f3f3f3f3f3f3f3f; bool isPrime[10007]; ll d[10007]; int tenPow[10]; int mint; void initTenPow() {…...

React React Native
文章目录 ReactReact vs Vue快速上手React,核心知识点JSX例子 组件虚拟DOM基于 React 的 UI 库跟Java、ObjectC交互 React Native基于 React Native 的 UI 库 React && React NativeReact && React Native 框架 React React 是一个用于构建用户界面…...

分布式定时任务系列5:XXL-job中blockingQueue的应用
传送门 分布式定时任务系列1:XXL-job安装 分布式定时任务系列2:XXL-job使用 分布式定时任务系列3:任务执行引擎设计 分布式定时任务系列4:任务执行引擎设计续 Java并发编程实战1:java中的阻塞队列 引子 这篇文章的…...

QT网络编程之TCP
QT网络编程之TCP TCP 编程需要用到俩个类: QTcpServer 和 QTcpSocket。 #------------------------------------------------- # # Project created by QtCreator 2023-08-...

《游戏编程模式》学习笔记(四) 观察者模式 Observer Pattern
定义 观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 这是定义,看不懂就看不懂吧,我接下来举个例子慢慢说 为什么我们需要观察者模式 我们看一个很简…...

前端一键升级 package.json里面的依赖包管理
升级需谨慎 前端一键升级 package.json里面的依赖包管理 安装:npm-check-updates npm i npm-check-updates -g缩写 ncu 在项目根目录里面执行 ncu 如图:...

当速度很重要时:使用 Hazelcast 和 Redpanda 进行实时流处理
在本教程中,了解如何构建安全、可扩展、高性能的应用程序,以释放实时数据的全部潜力。 在本教程中,我们将探索 Hazelcast 和 Redpanda 的强大组合,以构建对实时数据做出反应的高性能、可扩展和容错的应用程序。 Redpanda 是一个流…...

筛法求欧拉函数
思路: (1)若要分别求1~n每个数的欧拉函数值,则复杂度O(n*n^0.5),超时; (2)于是考虑用欧拉筛进行求取; (3)欧拉筛:基于线…...

consul限制注册的ip
假设当前服务器的ip是:192.168.56.130 1、允许 所有ip 注册(验证可行) consul agent -server -ui -bootstrap-expect1 -data-dir/usr/local/consul -nodedevmaster -advertise192.168.56.130 -bind0.0.0.0 -client0.0.0.0 2、只允许 当前ip 注册 consul agent -…...

用AI攻克“智能文字识别创新赛题”,这场大学生竞赛掀起了什么风潮?
文章目录 一、前言1.1 大赛介绍1.2 项目背景 二、基于智能文字场景个人财务管理创新应用2.1 作品方向2.2 票据识别模型2.2.1 文本卷积神经网络TextCNN2.2.2 Bert 预训练微调2.2.3 模型对比2.2.4 效果展示 2.3 票据文字识别接口 三、未来展望 一、前言 1.1 大赛介绍 中国大学生…...

EJB基本概念和使用
一、EJB是什么? EJB是sun的JavaEE服务器端组件模型,是一种规范,设计目标与核心应用是部署分布式应用程序。EJB2.0过于复杂,EJB3.0的推出减轻了开发人员进行底层开发的工作量,它取消或最小化了很多(以前这些是必须实现)…...

神经网络基础-神经网络补充概念-09-m个样本的梯度下降
概念 当应用梯度下降算法到具有 m 个训练样本的逻辑回归问题时,我们需要对每个样本计算梯度并进行平均,从而更新模型参数。这个过程通常称为批量梯度下降(Batch Gradient Descent)。 代码实现 import numpy as npdef sigmoid(z…...