从mysql到sqlite_从Mysql到Sqlite的迁移

导入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让我一直很残念,现在终于大快人心了 …

(#)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值