当前位置: 首页 > news >正文

数据库知识初步汇总

创建标签表格:

CREATE TABLE IF NOT EXISTS labels (标签ID INTEGER PRIMARY KEY,标签名称 TEXT
);

创建文本与标签的关联表格:

CREATE TABLE IF NOT EXISTS 文本标签 (文本ID INTEGER,标签ID INTEGER,FOREIGN KEY (文本ID) REFERENCES texts(编号),FOREIGN KEY (标签ID) REFERENCES labels(标签ID)
);

给文本贴标签:

-- 假设文本ID为1的文本贴上了标签ID为1和2的标签
INSERT INTO 文本标签 (文本ID, 标签ID) VALUES (1, 1);
INSERT INTO 文本标签 (文本ID, 标签ID) VALUES (1, 2);

查询特定文本的标签:

-- 查询编号为1的文本的标签
SELECT 文本.编号, 文本.文本, labels.标签名称
FROM texts
JOIN 文本标签 ON texts.编号 = 文本标签.文本ID
JOIN labels ON 文本标签.标签ID = labels.标签ID
WHERE 文本.编号 = 1;

数据库是
input输入多行文本,允许特殊字符串
按“# ꧂ ꧁”结束一个文本输入
无限循环

你想要创建一个数据库,允许用户输入多行文本,并在输入特殊字符串“# ꧂ ꧁”时结束输入,然后再次开始新的文本输入,是吗?这种情况下,你可以使用以下SQL语句创建一个表格来存储这些文本:

CREATE TABLE IF NOT EXISTS 文本输入 (编号 INTEGER PRIMARY KEY,文本内容 TEXT,输入时间 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

然后,你可以编写一个程序或者脚本来实现无限循环,接受用户的输入并将其插入到数据库中。这里提供一个示例的Python脚本,使用SQLite数据库来实现这个功能:

import sqlite3# 连接到数据库文件(如果不存在会自动创建)
conn = sqlite3.connect('text_input.db')
cursor = conn.cursor()# 创建文本输入表格
cursor.execute('''CREATE TABLE IF NOT EXISTS 文本输入 (编号 INTEGER PRIMARY KEY,文本内容 TEXT,输入时间 TIMESTAMP DEFAULT CURRENT_TIMESTAMP)''')# 无限循环接受用户输入并插入数据库
while True:文本 = input('请输入文本内容,以“# ꧂ ꧁”结束:\n')if 文本.strip() == '# ꧂ ꧁':breakelse:# 插入文本到数据库cursor.execute('''INSERT INTO 文本输入 (文本内容) VALUES (?)''', (文本,))conn.commit()# 关闭数据库连接
conn.close()

这个Python脚本会持续接受用户输入文本,直到输入“# ꧂ ꧁”时结束并退出循环,然后将文本内容插入到名为“文本输入”的数据库表格中。你可以根据实际需求调整代码和数据库结构。

#有查询和统计行#

如果你想要实现查询和统计已经输入的文本行的功能,你可以修改上面的Python脚本来实现。以下是一个示例,演示如何查询数据库中的文本行以及进行一些基本的统计:

import sqlite3# 连接到数据库文件(如果不存在会自动创建)
conn = sqlite3.connect('text_input.db')
cursor = conn.cursor()# 查询所有文本行
cursor.execute('''SELECT * FROM 文本输入''')
rows = cursor.fetchall()# 打印所有文本行
print("已输入的文本行:")
for row in rows:print(row)# 统计已输入的文本行数量
num_rows = len(rows)
print("已输入的文本行数量:", num_rows)# 关闭数据库连接
conn.close()

这个示例Python脚本会查询数据库中的所有文本行,并打印出来。然后,它会统计已输入的文本行的数量并打印出来。你可以根据需要修改这个脚本以实现更复杂的查询和统计功能。

http://www.lryc.cn/news/343920.html

相关文章:

  • Moby简介:openEuler 中的开源docker引擎
  • 分布式光纤测温DTS的测温范围是多少?
  • Java实现裁剪PDF
  • ZooKeeper以及DolphinScheduler的用法
  • gitlab集群高可用架构拆分部署
  • STC8增强型单片机开发day01
  • 记录: Python解析yml文件,顺序解析,带所有文件等号
  • Npm Install Docusaurus Demo【npm 安装 docusaurus 实践 】
  • 【工具推荐定制开发】一款轻量的批量web请求命令行工具支持全平台:hey,基本安装、配置、使用
  • Linux进程——进程的创建(fork的原理)
  • ICode国际青少年编程竞赛- Python-1级训练场-路线规划
  • uniapp微信小程序1rpx border在某些手机机型上边框显示不出来解决方案
  • Linux mkfs.ext2命令教程:如何创建ext2文件系统(附实例详解和注意事项)
  • 基于Springboot的校园招聘系统(有报告)。Javaee项目,springboot项目。
  • 将 Vue、React、Angular、HTML 等一键打包成 macOS 和 Windows 平台客户端应用
  • 使用 MobaXterm 链接 Ubuntu(Windows子系统)
  • QT设计模式:代理模式
  • 独热编码One-Hot是什么?在实际应用中具体是如何存储的?
  • 计算机视觉与深度学习实战之以Python为工具:基于GUI搭建通用视频处理工具
  • 18.Docker学习
  • 树莓派4b红外检测
  • 大模型的不足与解决方案
  • Java中使用FlatBuffers实现序列化
  • [图解]SysML和EA建模住宅安全系统-02
  • 2024年北京服贸会媒体邀约资源有哪些?
  • 大语言模型LLM入门篇
  • Alibaba Cloud Linux 安装mysql及注意事项
  • 设计模式——工厂模式(Factory)
  • NVIDIA Omniverse Cloud API支持数字孪生开发,可解决复杂AI问题 | 最新快讯
  • 智慧电力,山海鲸引领