连接到 SQLite 数据库

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

python 复制代码
import sqlite3

# 连接到 SQLite 数据库
conn = 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 Texts
    INNER JOIN Tags ON Texts.ID = Tags.文本ID
    WHERE 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.lastrowid
    conn.commit()
    return 文本ID

# 主程序
while True:
    print("\n请输入文本(以#结束):")
    text_lines = []
    while True:
        line = input().strip()
        if line == "#":
            break
        text_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

相关推荐
AAA代码批发商6 分钟前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
笑梦无境6 分钟前
mysql的安装及配置(3)
数据库·mysql·adb
电商API_180079052477 分钟前
跨境1688代采商家,如何借助API打通供应链,实现效率跃迁
大数据·数据库·网络爬虫
小雪崩8 分钟前
嵌入式学习 day40:数据库
数据库·学习
今天AI了吗14 分钟前
Codex 配置自定义 AI API 完整指南:从零到一接入你的专属模型
java·人工智能·python·数据分析·embedding
阿童木写作20 分钟前
跨境电商批量图片翻译与视频字幕翻译工具推荐
python·音视频
Aloudata26 分钟前
语义层 vs MCP 工具层:Agent 调用数据时,语义应该放在哪一层
数据库·数据分析·chatbi·data agent·语义层
zcmodeltech26 分钟前
源网荷储一体化沙盘模型多场景控制系统设计——基于STM32与Modbus RTU的源网荷储、多能互补、冷热电三联供全场景联动方案,服务范围覆盖全国
数据库·人工智能·stm32·单片机·嵌入式硬件
leihefeng27 分钟前
手写数字识别:KNN vs 逻辑回归实战
python·算法·机器学习·逻辑回归·scikit-learn
数智启示录29 分钟前
PostgreSQL 执行计划实战(第 9 篇):SQL 和索引没变,计划为什么突然慢一百倍
数据库·经验分享·sql·postgresql·面试