如何导入StackOverflow数据库

StackOverflow和很多它相关的页面让它的数据可为公共使用,它在线可被查询。

但是如何导入到自己的数据库中?幸运的是,你可以。

Stack Exchange,包含了StackOverflow和许多其它的页面。

创建dumps(转储)如此经常,并且让它在线可用。

你只知道是转储而已吗?

在计算机领域,dump一般译作转储,有动词和名词两种场景

1 为什么dump

一般指将数据导出、转存成文件或静态形式。比如可以理解成:把内存某一时刻的内容,dump(转存,导出,保存)成文件.

因为程序在计算机中运行时,在内存、CPU、I/O等设备上的数据都是动态的(或者说是易失的),也就是说数据使用完或者发生异常就会丢掉。如果我想得到某些时刻的数据(有可能是调试程序Bug或者收集某些信息),就要把他转储(dump)为静态(如文件)的形式。否则,这些数据你永远都拿不到。

2 dump转储的什么

就是将动态(易失)的数据,保存为静态的数据(持久数据)。像程序这种本来就保存在存储介质(如硬盘)中的数据,也就没有必要dump。

现在,dump作为名词也很好理解了,一般特指上述过程中所得到的文件或者静态形式。就是指dump(动词)的结果文件。

常出现dump的场景:Unix/Linux中的coredump,Java中的headdump和threaddump,还有就是tcpdump工具。

你可以在https://archive.org/details/stackexchange上来访问这些数据。

点击右边面板的Show All,选择列表中的一个网页来使用。

选择dba.stackexchange,它包含一些列的XML文件,每个表格一个。

让我们把这些数据导入到数据库中。

使用MySQL Workbench来导入文件到MySQL数据库中,直接导入XML文件。

为了导入XML文件,我们需要创建一个表来存储数据。

接着运行命令来导入XML文件。

SQL脚本,你可以使用来创建所有的表格。

CREATE TABLE

LOAD XML

你可能感兴趣的:(数据库,数据库)