创建标签表格:

(图片来源网络,侵删)
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() == '# ꧂ ꧁': break else: # 插入文本到数据库 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脚本会查询数据库中的所有文本行,并打印出来。然后,它会统计已输入的文本行的数量并打印出来。你可以根据需要修改这个脚本以实现更复杂的查询和统计功能。