用户工具

站点工具


mnbvc:mysqlexportdata

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
mnbvc:mysqlexportdata [2023/09/06 01:09] – 创建 Linglingfamnbvc:mysqlexportdata [2024/03/30 10:21] (当前版本) MNBVC项目组
行 1: 行 1:
-为了方便各个中文论坛站长支持『MNBVC中文语料集』项目,这里使用最普遍的Discuz!论坛为例,简单介绍一下站长如何从论坛数据库中导出脱敏的论坛帖子数据。+为了方便各个中文论坛站长支持『MNBVC中文语料集』项目,这里使用最普遍的Discuz!论坛为例,简单介绍一下站长如何从论坛数据库中导出脱敏的论坛帖子数据。**(只有主贴和回帖内容,完全不包含用户信息等内容的数据)**
  
-首先,我们以最普遍使用的论坛数据库MySQL,和使用最广泛的数据库图形化管理工具 PhpMyAdmin 为例。+首先,我们以最普遍使用的论坛数据库MySQL,和使用最广泛的数据库图形化管理工具 PhpMyAdmin(以下简称PMA) 为例。
  
 {{ :mnbvc:phpmyadmin-main-en.png?400 |}} {{ :mnbvc:phpmyadmin-main-en.png?400 |}}
  
-如果你管理论坛数据库的界面是上面这样的则说明你的论坛正在使用MySQL数据库,且你正在使用PhpMyAdmin 管理你的数据库。+以上是PMA的界面,左侧为各个**数据库**每一个数据库对应一个网站或者论坛,点击库名或者前面“+”号即可展开数据库包含的所有**数据表**
  
 我们都知道,我们希望收集整理的论坛信息,就是论坛的帖子。一般来说,论坛的帖子里对于语料集来说有意义的数据包括: 我们都知道,我们希望收集整理的论坛信息,就是论坛的帖子。一般来说,论坛的帖子里对于语料集来说有意义的数据包括:
行 28: 行 28:
   pre_forum_post 帖子信息,包括帖子标题、内容、作者、发表时间等   pre_forum_post 帖子信息,包括帖子标题、内容、作者、发表时间等
  
-这两个是必须的+(PS.“pre_”是安装Discuz时默认的数据表前缀,如果你设置了自定义前缀,请将其替换为自定义内容) 
 + 
 +这两个数据表是必须的
  
 其中, pre_forum_thread数据表中,我们仅需要tid,author,subject 三列的数据: 其中, pre_forum_thread数据表中,我们仅需要tid,author,subject 三列的数据:
行 34: 行 36:
 {{ :mnbvc:20230906013623.png?400 |}} {{ :mnbvc:20230906013623.png?400 |}}
  
-pre_forum_post数据表中,我们需要tid,first,author,subject,dataline,message+pre_forum_post数据表中,我们需要tid,first,author,subject,dateline,message
  
  {{ :mnbvc:20230906014057.png?500 |}}  {{ :mnbvc:20230906014057.png?500 |}}
行 58: 行 60:
 FROM pre_forum_thread; FROM pre_forum_thread;
  
--- 创建post_bak数据表并复制数据+-- 创建post_bak数据表并复制数据(某些dateline可能是INT格式)
 CREATE TABLE post_bak ( CREATE TABLE post_bak (
   tid INT,   tid INT,
行 64: 行 66:
   author VARCHAR(255),   author VARCHAR(255),
   subject VARCHAR(255),   subject VARCHAR(255),
-  dataline DATETIME,+  dateline DATETIME,
   message TEXT   message TEXT
 ); );
  
-INSERT INTO post_bak (tid, first, author, subject, dataline, message) +INSERT INTO post_bak (tid, first, author, subject, dateline, message) 
-SELECT tid, first, author, subject, dataline, message+SELECT tid, first, author, subject, dateline, message
 FROM pre_forum_post; FROM pre_forum_post;
 </code> </code>
行 75: 行 77:
 请注意,上述代码中的数据表名和列名(如pre_forum_thread、pre_forum_post)需要根据你的实际数据库结构进行替换。同样,数据类型和列长度也可以根据需要进行调整。 请注意,上述代码中的数据表名和列名(如pre_forum_thread、pre_forum_post)需要根据你的实际数据库结构进行替换。同样,数据类型和列长度也可以根据需要进行调整。
  
-执行以上代码后,将在数据库中创建一个名为thread_bak的新数据表,并将pre_forum_thread表中tid、author、subject这三列的数据复制到thread_bak表中。同时,也会创建一个名为post_bak的新数据表,并将pre_forum_post表中tid、first、author、subject、dataline和message这五列的数据复制到post_bak表中。+执行以上代码后,将在数据库中创建一个名为**thread_bak**的新数据表,并将pre_forum_thread表中tid、author、subject这三列的数据复制到thread_bak表中。同时,也会创建一个名为**post_bak**的新数据表,并将pre_forum_post表中tid、first、author、subject、dateline和message这五列的数据复制到post_bak表中。
  
 确保数据库连接和选择的数据库正确,并根据实际需求调整数据表名、列名、数据类型和列长度。 确保数据库连接和选择的数据库正确,并根据实际需求调整数据表名、列名、数据类型和列长度。
  
-好,到目前为止,我们就能够看到左侧的数据表列表底部多了两个新的备份数据表 thread_bak,post_bak+好,到目前为止,我们就能够看到左侧的数据表列表底部多了两个新的备份数据表 **thread_bak****post_bak**
  
-选中这两个新数据表(分别选中),点击数据表顶部的“导出”菜单:+选中这两个新数据表(分别选中),比如先选择post_bak,然后点击数据表顶部的“导出”菜单:
  
 {{ :mnbvc:20230906020538.png?400 |}} {{ :mnbvc:20230906020538.png?400 |}}
行 87: 行 89:
 然后点击右下角的“执行”按钮,静待数据表导出,保存到本机即可。 然后点击右下角的“执行”按钮,静待数据表导出,保存到本机即可。
  
-重复以上步骤,两个备份的数据表全部导出,就可以把这两个文件打包。然后上传到网盘或者服务器,提交给MNBVC下载使用了。+重复以上步骤,导出thread_bak,这两两个备份的数据表全部导出,就可以把这两个文件打包。然后上传到网盘或者服务器,提交给MNBVC下载使用了。
mnbvc/mysqlexportdata.1693933791.txt.gz · 最后更改: 2023/09/06 01:09 由 Linglingfa