logo
当前位置:首 页 > 编程技术 >后端开发 >mysql > 查看文章

这个需求是这个:因为网站升级在原库的原表中有很多的数据【目前测试是近万条】需要导入到新新库新表中

原来是可以直接库库对接的,但是2台服务器不在同一个区,更别说同机房了。所以为了保险。做了数据的Data Transfer【数据传输】 方法很对,简单的可以是用可视化的平台例如navicat来进行,技术化的可以先备份需要传数据的表。然后导入到新的库中。

 

0X0001:

 

第一步,先确认导入到新表中添加数据的字段,确认默认数据,那些是固定数据【默认数据在导入的时候可以不传,固定数据需要在导入的时候做固定填入处理,例如这个文章的status是默认为1的,就可以不传。文章的分类这个表的都是12的就需要固定处理。需要传但是旧表中是没有的】

 

  1. INSERT INTO `newtable` (`cid`,`title`,`content`) VALUES (12,'oldtabletitle','oldtablecontent');

0X0002:

 

这个是新表插入数据的SQL语句脚本。下面先来做固定的数据语句的构建

  1. INSERT INTO `newtable` (`cid`,`title`,`content`) SELECT 12 ;

 

0X0003:

写好了固定数据就需要写入旧表中的数据了

  1. INSERT INTO `newtable` (`cid`,`title`,`content`) SELECT 12,title,content FROM `oldtable` ;

0X0004:

 

这个就是转换语句了,后面可以加上LIMIT 或者WHERE语句进行限定。

  1. INSERT INTO `newtable` (`cid`,`title`,`content`) SELECT 12,title,content FROM `oldtable` WHERE cid=2 ;

0X0005:

 

写好脚本之后,PM说客户又又又有个新需求,原来的那个库中标题有加了写字符,需要清理掉【例如句号“。”】。

  1. INSERT INTO `newtable` (`cid`,`title`,`content`) SELECT 12,REPLACE(title, '。',''),content FROM `oldtable` WHERE cid=2 ;

 

这就可以愉快的运行脚本下班了。

 

 

 

 

 

说说梦想,谈谈感悟 ,聊聊技术,有啥要说的来github留言吧 https://github.com/cjx2328

—— 陈 建鑫

陈建鑫
你可能也喜欢Related Posts
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao Studio All Rights Reserved. E-mail:cjx2328#126.com(#号改成@) 沪ICP备14052271号-3