如何把sqlserver数据迁移到mysql数据库及需要注意事项
在项目开发中,有时由于项目开始时候使用的数据库是SQLServer,后来把存储的数据库调整为MySQL,所以需要把SQLServer的数据迁移到MySQL。下面是小编日常整理的一种sqlserver数据库迁移的方法。
一、SQLServer中常用数据类型与MySQL不同的地方
二、将SQLServer数据迁移到MySQL需要注意的一些问题
1、唯一索引的不同,sqlserver的唯一索引的字段只能允许存在一个null值,而mysql,一直oracle中唯一索引对应的字段都允许存在多个null值。
2、存储过程的语法存在很大的不同,存储过程的迁移是最麻烦的,需要仔细修改。
3、程序中部分写的SQL语句由于语法的不同也要相应的修改。
三、将SQLServer数据迁移到MySQL的常见方法
1、使用SQLyog迁移
优点
该迁移方法很简单,灵活,迁移时,可以进行字段的修改,比如在sqlserver中原来是datetime,然后迁移到mysql时你可以配置成timestamp;成功率很高;
缺点
迁移很慢!这是该方法最大的缺点,如果表的数据量达到几十万行,甚至几百万行,你会发现迁移起来真的很慢。明显比其他迁移方法慢很多。
2、使用powerdesigner和sqlserver的脚本导出功能来迁移
(1)、该方法首先使用powerdesigner,对sqlserver数据库,进行逆向工程,得到E-R图,然后生成MySQL的建表语句。完成数据库结构的迁移;当然表结构的迁移,不使用powerdesigner一样也是可以的。比如我将表结构导出成语句,然后手动进行修改,然后在MySQL中运行,也是一样的;
(2)、然后使用sqlserver的工具SSMS,将sqlserver数据库中的表的数据,导出成insert语句,每个表对应导出一个文件,然后对文件进行一些处理,然后导入到MySQL数据库中。
3、使用OracleMySQLServer官方的workbeach工具进行迁移
(1)、在workbench连接sqlserver时,用户需要有viewanydatabase的权限。不然workbench无法访问sqlserver的表结构的元数据,从而无法进行迁移。
(2)、还有使用Navicat来进行迁移的方法,方法和SQLyog是类似的。
以上sqlserver数据库迁移方法,希望大家喜欢。