【问题标题】:Easiest way to upload existing data in to new database将现有数据上传到新数据库的最简单方法
【发布时间】:2015-07-16 09:04:18
【问题描述】:

如果我在错误的论坛上发布我的问题,请先向我道歉。

3 年前,我们在一所学校实施了我们的旧软件(Java swing 应用程序)。

现在我们正计划安装我们的新软件(Java Spring MVC Web 应用程序)。当我们第一次实施时,他们已经手动输入了 3000 多个学生记录。现在他们又不能在我们的新系统中输入相同的数据了……有没有办法将现有记录转换到我们的新数据库中……如何实现这一点……

---已编辑--- 数据库因两个应用程序而异。

例如:

我的新数据库中多了 15 个字段...我的所有列名也都更改了。

请指导我..

【问题讨论】:

  • 你在改变你的数据库吗?将应用程序从swing 迁移到 web 对数据库部分没有影响。如果您正在尝试迁移数据库。请发布数据库详细信息
  • 拒绝投票者请发表原因.....不要气馁用户...
  • 当用户不知道 100% 熟练并寻求所有在该特定领域的专家的帮助.. 但很抱歉,您的回答真的让我感到沮丧......每个人都会尽力而为当他们真正需要的时候......

标签: java spring-mvc deployment


【解决方案1】:

您可以写下一些连接旧数据库的代码,读取数据并在新数据库上创建和插入。根据有关您的 DBMS 的信息,我可以建议您使用这种方法。首先让你的软件运行这条 SQL 语句:

SHOW CREATE TABLE t\G

有了这个,你可以得到数据库信息,这样你就可以在新的服务器上创建相同的数据库。然后,有了所有字段,您可以运行 select 语句来获取所有行并将它们作为字符串存储在列表中,以便稍后在另一个数据库上运行它们。另一种方法是像这样简单地运行 mysqldump:

mysqldump -t -u MyUserName -MyPassword MyDatabase MyTable

假设你没有直接访问mysqldump,顺便说一句,写下这段代码相当容易,我会坚持使用show create table plus select insert。只是为了解释我的生成插入的选择,就像这样:

SHOW CREATE TABLE t\G

Create Table: CREATE TABLE t (
  id INT(11) default NULL auto_increment,
  s char(60) default NULL,
  PRIMARY KEY (id)
) ENGINE=MyISAM

"SELECT 'INSERT INTO t(id,s) VALUES(' as inserthead,id,',\'' as firstcomma,s,'')' as endofstatement from t

【讨论】:

    【解决方案2】:

    抱歉,无法回答您的问题。您还没有提供任何信息,数据如何存储在旧系统中(平面文件、关系数据库、其他数据库类型),您在新系统中使用什么,第一个应用程序中存储的信息结构是什么,它是否与后者中使用的相似,等等。有很多细节需要给你一个提示,而你的问题没有给出这些。

    【讨论】:

    • 我正在使用 mysql 数据库.. 必须将数据从一个数据库传输到另一个数据库..
    猜你喜欢
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 2020-05-01
    • 2023-03-19
    • 2012-03-19
    相关资源
    最近更新 更多