连接到 SQLite 数据库

ops/2024/9/23 5:19:38/

在命令行中运行该文件,按照提示操作即可

python">import sqlite>sqlite3# 连接到 SQLite 数据库
conn = sqlite>sqlite3.connect('text_database.db')
cursor = conn.cursor()# 创建文本表
cursor.execute('''
CREATE TABLE IF NOT EXISTS Texts (ID INTEGER PRIMARY KEY,文本 TEXT,时间 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
''')# 创建标签表
cursor.execute('''
CREATE TABLE IF NOT EXISTS Tags (ID INTEGER PRIMARY KEY,标签 TEXT,文本ID INTEGER,FOREIGN KEY (文本ID) REFERENCES Texts(ID)
);
''')# 添加标签函数
def add_tag(文本ID, 标签):cursor.execute("INSERT INTO Tags (标签, 文本ID) VALUES (?, ?)", (标签, 文本ID))conn.commit()# 搜索标签函数
def search_by_tag(标签):cursor.execute('''SELECT Texts.文本FROM TextsINNER JOIN Tags ON Texts.ID = Tags.文本IDWHERE Tags.标签 = ?''', (标签,))results = cursor.fetchall()if results:print("搜索结果:")for result in results:print(result[0])else:print("未找到匹配的文本。")# 添加文本函数
def add_text(文本):cursor.execute("INSERT INTO Texts (文本) VALUES (?)", (文本,))文本ID = cursor.lastrowidconn.commit()return 文本ID# 主程序
while True:print("\n请输入文本(以#结束):")text_lines = []while True:line = input().strip()if line == "#":breaktext_lines.append(line)文本 = '\n'.join(text_lines)文本ID = add_text(文本)print("请输入标签:")标签 = input().strip()add_tag(文本ID, 标签)print("文本已添加,并贴上了标签。")print("\n是否继续添加文本?(yes/no)")choice = input().strip().lower()if choice != 'yes':break# 搜索标签
print("\n请输入要搜索的标签:")
search_tag = input().strip()
search_by_tag(search_tag)# 关闭数据库连接
conn.close()

这段代码使用中文变量名和表格字段名,请确保在运行代码之前已安装了 Python 和 SQLite3 模块,并将其保存在一个文件中,例如 text_database.py


http://www.ppmy.cn/ops/41413.html

相关文章

如何在 Windows 11/10 中恢复已删除的分区

在将重要数据存储在计算机上之前,许多用户会创建分区以更好地组织和管理他们的文件。此分区可以在内部硬盘驱动器或外部存储设备上创建。但是,有时可能会意外删除分区。如果发生这种情况,您可能想知道是否可以在不丢失任何信息的情况下恢复已…

getopt()

命令选项参数解析 我们都是知道程序在启动时是可以接收命令参数的。通过main(int argc,char **argv)函数的argc和argv来传入命令参数。这时我们需要解析。当然glibc库中包含了相关函数来方便我们解析命令参数。 为了表述方便,我们用命令gcc -o exefile test.c来举例…

FullCalendar日历组件集成实战(4)

背景 有一些应用系统或应用功能,如日程管理、任务管理需要使用到日历组件。虽然Element Plus也提供了日历组件,但功能比较简单,用来做数据展现勉强可用。但如果需要进行复杂的数据展示,以及互动操作如通过点击添加事件&#xff0…

LeetCode 126题:单词接龙 II

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

C语言操作符(补充+面试)

移位操作符 左移操作符&#xff08;<<&#xff09; 左移操作符将操作数的所有位向左移动指定的位数。移动过程中&#xff0c;右侧空出的位用0填充。例如&#xff0c;将二进制数1010左移1位&#xff0c;得到的结果是101000。在C语言中&#xff0c;左移操作符通常用于实现…

Redis分布式缓存

分布式缓存 引入&#xff1a; 一&#xff1a;持久化&#xff1a; 1.1.RDB持久化&#xff1a; 1.2.AOF文件&#xff1a; 记得关闭RDB&#xff0c;开启AOF。 注意&#xff0c;AOF默认是详细的记录每一条命令&#xff0c;即使是对同一个key的多次修改&#xff0c;RDB只会记录最…

ssrf漏洞学习——基础知识

一、SSRF是什么&#xff1f; SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。 一般情况下&#xff0c;SSRF攻击的目标是从外网无法访问的内部系统。&#xff08;正是因为它是由服务端发起的&#xff0c;所以它能…

【Viso画图】Viso导出与图形适配的pdf

step1:选中开发工具点击shapeSheet&#xff0c;选中页 step2&#xff1a;进入页面参数设置窗口&#xff0c;将下面框选的参数设为0,enter后保存 目前效果&#xff1a; step3:选中设计->大小&#xff0c;选择适应页面大小或者自己根据图片调整 目前效果&#xff1a; step4: 以…