热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从Mysql到Sqlite的迁移

一导入Mysql数据表到SqliteTeamSNS有18张数据表,手工建立这种事情不是正常人能做到的.于是在网上找转换的脚本.结果只google到一个python的脚本,写得还挺烂



导入Mysql数据表到Sqlite


TeamSNS有18张数据表,手工建立这种事情不是正常人能做到的.于是在网上找转换的脚本.结果只google到一个python的脚本,写得还挺烂.



这时候才感叹phpmyadmin的好用,其实Sqlite也有很多web管理界面,但是太多,所以质量参差不齐.这里强烈推荐 SQliteManager
,这个东东不但可以在线管理Sqlite,更能将Mysql的sql文件直接导入.实在是居家旅行必备之物.



Sqlite的版本


现在Sqlite的主流版本有2和3.彼此之间似乎是不兼容的.PHP5内置支持的SQlite版本是2,而要读写3的库,需要pdo支持.为了空间的兼容性,我选择了2.



Sqlite和Mysql的语法差异



  1. 标记为Not Null的字段必须非空或指定默认值,否则sql会报错.

  2. update的时候不能Limit 1,真是很奇怪的限制.

  3. 没有Unix_Timestamp之类的函数,但是可以直接用PHP写自定义函数.这个很好用,我以Sqlite创始人的名义保证.



和Mysql对应的函数



  1. mysql_real_escape_string - sqlite_escape_string

  2. mysql_query - sqlite_query / sqlite_exec

  3. mysql_insert_id - sqlite_last_insert_rowid

  4. mysql_error - sqlite_error_string

  5. mysql_errno - sqlite_last_error

  6. mysql_affected_rows - sqlite_changes


常用的就这么几个,其实用PDO来搞更方便一些.



另外说说对Sqlite的感受


从性能上比较意义不大,肯定没有Mysql好.


从功能上讲,对Sql已经支持得不错了,INSER OR 的语法很有新意,自定义函数是亮点,view和trigger暂时还没有尝试过.


另外Sqlite版本的应用可以做到免安装,这个是非常大的优势.


Sqlite版的TeamSNS可以很轻松的跑在各种支持php的嵌入式系统中,比如西部数据的网络硬盘盒,智器的SmartQ.


之前家里的盒子死活没装上Mysql让我一直很残念,现在终于大快人心了 …



觉得文章有用?立即:和朋友一起 共学习 共进步!


建议继续学习:





  1. 在perl中连接和使用sqlite做数据存储    (阅读:4606)




  2. SQLIte这么娇小可爱,不多了解点都不行啊    (阅读:2748)




  3. 关于sqlite的事务的使用    (阅读:2264)




  4. 使用python将Sqlite中的数据直接输出为CVS    (阅读:1862)




  5. dell 2950 raid阵列冷迁移方法    (阅读:1823)




  6. 核心业务系统数据库平台迁移: Oracle -> MySQL    (阅读:1743)




  7. RSS Feed 迁移的方案    (阅读:1671)




  8. 从大屏幕到小屏幕迁移的三种设计方案    (阅读:1644)




  9. AWR 与 Statspack 数据的导出与迁移    (阅读:1564)




  10. xen虚拟机的迁移类型    (阅读:1441)



QQ技术交流群:445447336,欢迎加入!



扫一扫订阅我的微信号:IT技术博客大学习




推荐阅读
author-avatar
邱文馨4966
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有