从Mysql到Sqlite的迁移
浏览:4332次 出处信息
一
导入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的语法差异
- 标记为Not Null的字段必须非空或指定默认值,否则sql会报错.
- update的时候不能Limit 1,真是很奇怪的限制.
- 没有Unix_Timestamp之类的函数,但是可以直接用PHP写自定义函数.这个很好用,我以Sqlite创始人的名义保证.
四
和Mysql对应的函数
- mysql_real_escape_string - sqlite_escape_string
- mysql_query - sqlite_query / sqlite_exec
- mysql_insert_id - sqlite_last_insert_rowid
- mysql_error - sqlite_error_string
- mysql_errno - sqlite_last_error
- mysql_affected_rows - sqlite_changes
常用的就这么几个,其实用PDO来搞更方便一些.
五
另外说说对Sqlite的感受
从性能上比较意义不大,肯定没有Mysql好.
从功能上讲,对Sql已经支持得不错了,INSER OR 的语法很有新意,自定义函数是亮点,view和trigger暂时还没有尝试过.
另外Sqlite版本的应用可以做到免安装,这个是非常大的优势.
Sqlite版的TeamSNS可以很轻松的跑在各种支持php的嵌入式系统中,比如西部数据的网络硬盘盒,智器的SmartQ.
之前家里的盒子死活没装上Mysql让我一直很残念,现在终于大快人心了 …
建议继续学习:
- 在perl中连接和使用sqlite做数据存储 (阅读:5199)
- SQLIte这么娇小可爱,不多了解点都不行啊 (阅读:3743)
- 关于sqlite的事务的使用 (阅读:2870)
- 使用python将Sqlite中的数据直接输出为CVS (阅读:2437)
- dell 2950 raid阵列冷迁移方法 (阅读:2245)
- 核心业务系统数据库平台迁移: Oracle -> MySQL (阅读:2315)
- 从大屏幕到小屏幕迁移的三种设计方案 (阅读:2163)
- RSS Feed 迁移的方案 (阅读:2034)
- xen虚拟机的迁移类型 (阅读:1945)
- AWR 与 Statspack 数据的导出与迁移 (阅读:2010)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Mysql_insert_id的一个缺陷
后一篇:mysql的权限信息的存储 >>
文章信息
- 作者:Easy 来源: EasyID
- 标签: Sqlite 迁移
- 发布时间:2009-11-16 09:19:15
建议继续学习
近3天十大热文
-
[75] memory prefetch浅析
-
[53] find命令的一点注意事项
-
[37] 基本排序算法的PHP实现
-
[33] 卡诺模型―设计品质与设计价值的思考
-
[32] Oracle bbed工具的编译
-
[26] 程序员技术练级攻略
-
[26] 读书笔记-壹百度:百度十年千倍的29条法则
-
[26] 8大实用又重要Mac使用技巧
-
[23] 两行 JavaScript 代码
-
[22] 小屏幕移动设备网页设计注意事项