Total Pageviews

Saturday, 6 April 2013

SQLite -一款不错的数据库

大家经常会用到MysQL、SqlServer、Access等数据库,但它们都有一个缺点,就是需要服务器的支持。今天给大家介绍一款不需要任何服务器支持的数据库:SQLite。
也许你以前从未听说过该数据库,其实我也是前些时候才接触到的。SQLite是开源的,并且速度比Mysql、PostgreSQL都要快。刚接触它的时 候你也许会觉得它和Access很像,但是Access需要安装Office中的Access才能新建,而SQLite不需要安装任何软件,由程序生成。 它的嵌入式也许是最大优点,手机、iPhone等设备中使用非常方便。SQLite还有很多优点:
1、支持大部分SQL语句;
2、它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了;
3、它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口;
4、支持数据库大小至2TB;
5、储存在单一磁盘文件中的一个完整的数据;
6、支持多种开发语言,C, PHP, Perl, Java, ASP.NET,Python;
7、管理方便,可以使用sqlitemanager或者火狐的SQLite插件管理
附:
1、用PHP操作sqlite数据库:
PHP代码
  1. if($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)){  
  2.     select * from sqlite_master;  
  3.     echo "数据库连接成功!";  
  4. }else{  
  5.     die($sqliteerror);  
  6. }  
2、列出数据库中所有的表:
PHP代码
  1. if($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)){  
  2.     $result = sqlite_array_query($db'select * from sqlite_master;');  
  3.     foreach ($result as $entry) {  
  4.         echo 'talbe name='.$entry['name'];  
  5.         echo 'sql='.$entry['sql']n;  
  6.         echo "---------------------";  
  7.     }  
  8.     sqlite_close($db);  
  9. }else{  
  10.     die($sqliteerror);  
  11. }  
3、对sqlite数据库的查询,以及结果集的显示:
PHP代码
  1. if($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)){  
  2.     $result = sqlite_array_query($db'select name, email from user ', SQLITE_ASSOC);  
  3.     echo "user表查询结果:";  
  4.     echo "name email";  
  5.     foreach($result as $entry){  
  6.         echo ' '.$entry['name']." " $entry['email'];  
  7.     }  
  8.     echo ' ';  
  9.     sqlite_close($db);  
  10. }else{  
  11.     die($sqliteerror);  
  12. }  
4、 数据库对象记录的增加、删除、修改:
PHP代码
  1. sqlite_query($db"INSERT INTO user VALUES('user".$i."'" ",'user".$i."@urdomain.com')");  
  2. sqlite_query($db"delete from user where user=’user99’");  
  3. sqlite_query($db'UPDATE user SET email="info@urdomain.com" where name="user1"');