数据复制问题

2019-03-25 13:45|来源: 网路

  有一个线上的数据库,知道线上某一个用户的user_id,要把跟他有关的的所有数据,复制到本地的测试数据库中,但是要把这个user-id换掉,应该怎么去实现呢啊
   应该是先从线上数据库查询出来,再插入到本地的数据库中吧,具体实现怎么弄呢;各位帮个忙吧,我是个小菜鸟,不太懂数据库的知识。大家多帮个忙啊。。。。。。

问题补充:
ethen 写道
那你就得在本地新建一个结构和线上数据库(不知道啥意思,姑且这么叫吧)相同的数据库,然后每次从线上数据库查询出来的内容都直接插入到本地数据库就好了呀。前提是你必须知道数据库的结构。

hope it helpful to you!


本地的数据库是和线上数据库一摸一样的,数据库中有不同的表,这些表中和线上的用户相关的数据都要弄下来,在插入到本地数据库中,而本地的数据库中只是把这个user的id换掉,其他的一律不便,是不是从线上弄下来的时候要把数据存储一下,再把数据插入到本地数据库中?怎样把线上数据全部拿到,存储呢?又怎么插入呢?可不可以具体告诉我一下,我对数据库不是很懂,一些sql语句还有连接数据库的部署,都不懂,如果您懂得话,可以指导我一下吗,谢谢。我的qq:843023286。。

问题补充:
SmallSan 写道

  直接报数据库导入     再在企业管理器里   打开所属数据库下的表   点开   USER_ID    右键重命名     如果数据也要改的话    直接右键USER_ID 打开表 返回所有行   改你想改的内容就可以了   .....

可以说的具体一点吗,我不太清楚这应该怎么操作???非常感谢!!!

问题补充:
ethen 写道
其实很简单的,不要把他想的太复杂,根据你的需求,只需用select语句和insert语句就可以了。具体的用法可以百度之。至于数据库的连接,由于不知道你用什么数据库,也不知道你用的是什么语言,所以姑且给你一个参考。
http://ethen.iteye.com/admin/blogs/791387


我想问的是要连接两个数据库,中间怎么切换呢?我用mysql,有个同事告诉我可以用dump,这个还真不懂,另外用select和insert的话,能够直接插入吗,因为是两个数据库啊,不是先打开线上数据库,取出数据,然后再连接到本地数据库,再插入,然后断开连接吗??我这样理解对吗?

相关问答

更多
  • 如果你指的是mongodb数据导入到mysql的话,需要先将mongodb数据导出为csv等格式的文件,然后再将这些到处的文件导入到mysql里面。 但数据能不能顺利导成功,还要看你数据的特点。 表是要自己去预先建好的。
  • 导出数据库,包括数据一起导出,然后在导入另外一个数据库即可
  • 在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。 1、 表结构相同的表,且在同一数据库(如,table1,table2) Sql : 复制代码代码如下: insert into table1 select * from table2 (完全复制) insert into table1 select distinct * from table2(不复制重复纪录) insert ...
  • 有两种办法。 1、在B机器上装mysql。 将A机器上的mysql/data下的你的数据库目录整个拷贝下来。 将B机器上的mysql服务停止。 找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。 2、使用SQL语句备份和恢复 你可以使用SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。 语法: SELECT * IN ...
  • 数据复制方式分按复制方式分为同步复制和异步复制。望采纳!
  • insert into table b (xxx) select 'name' from table a ----插入a表数据进b表 select * from table b order by id ----查看插入后b表的数据 (注:前提是b表的id字段不能为null 启用标识 递增量为 1)
  • MYsql 数据库复制[2024-03-17]

    1.采用数据导出啊,然后再使用向导导入 2.使用语句或者计划先备份个数据库,然后还原时重命名就可以了的。
  • 如果你想复制数据,你应该通过malloc分配新的内存,然后通过memcpy复制你的内存。 void *startgpswatchdog(void *ptr) { GPSLocation *destination = malloc(sizeof(GPSLocation)); memcpy(destination, ptr, sizeof(GPSLocation)); } If you want to copy data you should allocate new memory via m ...
  • 尝试: CREATE TABLE foo SELECT * FROM bar LIMIT 0 要么: CREATE TABLE foo SELECT * FROM bar WHERE 1=0 Try: CREATE TABLE foo SELECT * FROM bar LIMIT 0 Or: CREATE TABLE foo SELECT * FROM bar WHERE 1=0
  • 您需要在A上设置变量log_slave_updates ,以便在其复制线程中更改时,它还会将这些更改记录到其二进制日志中。 只有这样,B才会收到相同的变化。 You need to set the variable log_slave_updates on A, so that as it plays changes in its replication thread, it also logs those changes to its binary log. Only that way will B re ...