sqlserver的建库脚本如何转换成mysql的建库脚本?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver的建库脚本如何转换成mysql的建库脚本?相关的知识,希望对你有一定的参考价值。

sqlserver的建库脚本如何转换成mysql的建库脚本?

首先安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中
的ntext, image等数据类型的数据无法直接写入到mysql数据库中,据说只要稍加改动就可以,可惜偶这只菜鸟还没想到如何改动,
其次,因为偶在mysql中的数据库设计中将时间都设成int型(保存的是时间戳),所以在数据导过来后,就会出现冲突,再次,这种方法生成的mysql数据表的字段类型都不很合适,所以此种方法我觉得不能提倡
参考技术A 如果是建表脚本 用的是INSERT INTO ...values的话 应该可以直接用
可以使用工具Kettle,把SQL Server的数据导入到MySQL中,非常方便。
参考技术B 直接去下个数据库转换器就行了.

编写bat脚本执行msyql建库sql

使用cmd命令执行(windows下)
MySQL的bin目录】\mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例:
D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql
注意:
A、如果在sql脚本文件中使用了use 数据库,则-D数据库选项可以忽略
B、如果【Mysql的bin目录】中包含空格,则需要使用“”包含,如:“C:\Program Files\mysql\bin\mysql” –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】

成功的代码:

set errorlevel=0
set path_bin_mysql="C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql"
set user_mysql=root
set password_mysql=root
%path_bin_mysql% -u%user_mysql% -p%password_mysql% <mysql.sql

遇到的坑:

  1. 引号必须把mysql的安装路径到\bin\mysql都包进去,否则报错找不到意思为“名为bin\mysql的database”;
  2. mysql执行sql文件的这种方式,-u和-p后都紧跟用户名和密码,不能有空格;

 












以上是关于sqlserver的建库脚本如何转换成mysql的建库脚本?的主要内容,如果未能解决你的问题,请参考以下文章

求介绍一下oracle数据库脚本转换成sqlserver数据库脚本的经验,只能手工吗,还是有简便的方法或者工具

如何编写一个mysql数据库脚本

sqlserver 如何把日期型转换成指定格式

MySQL批量建库导数据脚本

编写bat脚本执行msyql建库sql

将 MySQL 脚本转换为 SQL Server [关闭]