mysql转sqlite bit_将Mysql转为Sqlite(原理加工具实现)

SQLite向MySQL的数据库迁移

EditionStateDateDescription

1.0

completed

2010/03/04

关于SQLite和MySQL的SQL语句兼容性

步骤

SQLite向MySQL的迁移(migration)分为3步:

将数据库从SQLite导出。

修改SQLite的.sql文件内容,使其兼容MySQL的sql语句格式。

将数据导入MySQL。

1.SQLite导出

可以使用各种工具导出库,我使用FireFox的SQLite的管理插件SQLite Manager。

使用SQLite Manager插件打开数据库(.db .sqlite3)文件,选择导出。将整个库文件导出为.sql查询语句。

2.SQL语句兼容性修改

为了保证SQL语句的兼容,需要将SQLite的特有的格式,修改为MySQL的格式。下面为我总结的一般规则(下面的方括号应被忽略):

将 ["] 改为 [`] 也可以移除全部的 ["] ,但是如果有一些函数名作为字段名(e.g. regexp)时将会遇到错误 需要注意一些默认为 ["] ,其作用不在字段上的,不应被替换而应当被保留

移除所有的 [BEGIN TRANSACTION] [COMMIT] 以及 任何包含 [sqlite_sequence] 的(整)行

将所有 [autoincrement] 改为 [auto_increment]

将所有 ['f'] 改为 ['0'] 并将所有 ['t'] 改为 ['1'] 这一项包含了[boolean DEFAULT 't'] 和 [boolean DEFAULT '1'] 的不同 以及 [boolean DEFAULT 'f'] 和 [boolean DEFAULT '0'] 的不同 以及 被插入表中的值 的两个数据库间的差异

将修改完的文件保存。

3.MySQL的导入

在MySQL中新建同名的空数据库,使用如phpmyadmin的导入库的功能,将.sql文件导入。至此数据迁移完毕。

之后需要修改应用程序数据库链接的指向等。

此方法已经过验证,工作良好。

分隔符------------------------------------下面是工具实现-------------------------------

整理硬盘时发现的,不知道是什么时侯丢在硬盘里的,看看文件的创建时间好象还是去年的,今天安装了一试,简直是一宝啊,因为它可以转换绝大多数类型的数据库,而且是可以相互转换。

ESF Database Migration Toolkit Pro 支持的数据库格式:

Oracle, MySQL, SQL Server, PostgreSQL, IBM DB2, Teradata, Access, Excel, Visual Foxpro, SQLite, InterBase/FireBird,Paradox, Lotus, dBase, Text/CSV 等等。

63f5cb1d344e4c5012e6015ad661c89d.png

ca612951adac3740020fcfb797d50f4e.png

ebbbbabefd9e1ed22bd195b269ef4186.png

刚才随便试了试,从 Access 转换到 MySQL 没问题,而从MySQL转换到Access看似完成了,但转换来的Access数据库打开时会提示出错,不太正常。其它格式的数据库转换没试过,自己暂时用不到。如果你有这方面需要,可以试试这个强大的数据库转换工具。

ESF Database Migration Toolkit Pro 6.2.25 (数据库转换迁移工具):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值