mysqldump导出数据到mssql

mysqldump -u root -ppassword --no-create-db --no-create-info --complete-insert --compatible=mssql 
 --default-character-set=utf8 --skip-opt --compact  --extended-insert=false  
 dbname tablename|sed "s/\\\'/''/g">tablename.sql

 

--no-create-db 不输出建database的脚本

--no-create-info 不输出创建table的脚本

--complete-insert   完整的插入,输出每个字段(如: insert into table(field1,field2,....) values(value1,value2,...))

--compatible=mssql 教本兼容格式,这里是mssql 这样教本里就会把table的名字和字段名用“号引起来,而不是mssql不能识别的`号。

--default-character-set=utf8 默认编码

--compact 输出尽量少的信息

--extended-insert=false  禁用它,可以每行生成一句insert语句。否则只输出一个insert,如:insert into table values(value1,value2,...),(value1,value2,...),...(value1,value2,..)。这种格式sqlserver不识别。

 

 

mysql中用\转义 字符串里的 单引号等字符,而sqlserver的字符串中两个单引号表示一个单引号。没找到mysqldump指定转义字符的选项。有个fields-escaped-by选项,但只有在输出文本格式的时候有用,输出sql语句的时候不能用。

 

所以只好用sed替换一下。

 

sed "s/\\\'/''/g"
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值