数据库知识初步汇总

创建标签表格:

sql 复制代码
CREATE TABLE IF NOT EXISTS labels (
    标签ID INTEGER PRIMARY KEY,
    标签名称 TEXT
);

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

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

给文本贴标签:

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

查询特定文本的标签:

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

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

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

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

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

python 复制代码
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() == '# ꧂ ꧁':
        break
    else:
        # 插入文本到数据库
        cursor.execute('''INSERT INTO 文本输入 (文本内容) VALUES (?)''', (文本,))
        conn.commit()

# 关闭数据库连接
conn.close()

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

#有查询和统计行#

如果你想要实现查询和统计已经输入的文本行的功能,你可以修改上面的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脚本会查询数据库中的所有文本行,并打印出来。然后,它会统计已输入的文本行的数量并打印出来。你可以根据需要修改这个脚本以实现更复杂的查询和统计功能。

相关推荐
VX:Fegn08958 分钟前
计算机毕业设计|基于springboot + vue乡村振兴服务系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
大柏怎么被偷了10 分钟前
【Linux】文件系统
linux·运维·数据库
即将进化成人机18 分钟前
验证码生成 + Redis 暂存 + JWT 认证
数据库·redis·笔记
画***林19 分钟前
雷家林诗歌集录一英文版Collected Poems of Lei Jialin, Volume I (English Edition)
数据库·sql
fantasy_arch44 分钟前
pd_process.c 文件源码分析
c语言·数据库·视频编解码·av1
MAHATMA玛哈特科技44 分钟前
液压校平机:金属的“液态风筝收线器”
oracle·自动化·矫平机·液压矫平机
Elastic 中国社区官方博客44 分钟前
Kibana:使用 ES|QL 构建地图,对国家或地区的指标进行对比
大数据·数据库·elasticsearch·搜索引擎·信息可视化·全文检索·kibana
vortex51 小时前
ORM是什么?如何理解ORM?ORM的优缺点?
java·数据库·sql·mysql·oracle·orm
盟接之桥1 小时前
盟接之桥--说制造:从“找缝隙”到“一万米深”——庖丁解牛式的制造业精进之道
大数据·前端·数据库·人工智能·物联网·制造
九章-1 小时前
国企国产化替代标杆实践:金仓数据库赋能贵州磷化EMS系统自主可控升级
数据库·mysql·安全