1

我对此进行了一些研究,但找不到很多初学者的介绍性资源,所以我在这里寻找对该过程如何工作的基本了解。我要解决的问题是这样的:我想将数据从旧数据库移动到结构略有不同的新数据库,可能在此过程中稍微改变数据。在不深入细节的情况下..这样做的一般步骤是什么?

从我收集的信息来看,我要么是......

  • 手动编写大量 SQL 查询(eesh)
  • 使用一些复杂的工具,这对于我正在做的事情来说可能是多余的

数据库中有大量数据,因此INSERT从 SQL 转储中编写查询似乎是一场噩梦。我一直在寻找的是某种方法来编写一个插入类似for each row in the table "posts", take the value of the "body" attribute and put it in the "post-body attribute of the new database或类似逻辑的简单程序。我也在寻找类似的功能append a 0 to the data in the "user id" column then insert it in the new database(只是一个例子,重点是稍微改变数据)。

在我的脑海中,我可以很容易地构建迁移将如何轻松进行的逻辑(这里绝对不是火箭科学)..但我不确定如何在计算机上实现这一点,以便在不做的情况下迭代荒谬的数据量它手动。这样做的一般过程是什么,初学者可能想使用哪些工具?对于以前从未做过的人来说,这甚至是一个好主意吗?

编辑:根据要求,这是我想要执行的突变示例:

旧数据库:表“posts”的属性post_bodyvarchar 255. body"新数据库:具有数据类型属性的表“posts” text

post-body从旧的中取出并放入body新的中。意识到它们是不同的数据类型,但它们在技术上都是字符串,应该可以转换,对吧?等等一堆这样的操作。

4

1 回答 1

2

通常,数据库转换最耗时的步骤是同时了解新旧结构,并建立每个结构中字段的对应关系。

与此相比,编写相应的 SQL 查询所需的时间非常短。

对于“posts”表中的每一行,取“body”属性的值,并将其放入新数据库的“post-body”属性中

INSERT INTO newdb.postattribute (id, attribute, value)
SELECT postid, 'post-body', body FROM olddb.post;

事实上,允许这种数据操作的工具是……SQL!真的,这已经是一种非常高级的语言了。

于 2013-06-15T00:30:25.940 回答