SQLite使用技巧


1 .Sqlite判断数据表是否存在

SELECT COUNT(*)  as CNT FROM sqlite_master where type='table' and name='DBInfo' //其中DBInfo为需要判断的表名。注意大小写敏感!

2. SQLite一条SQL语句插入多条记录

INSERT INTO TABLE(col1, col2) SELECT val11, val12 UNION ALL SELECT val21, val22 ;
这样的写法是属于复合SQL语句,表示先把两个SELECT的结果集进行无删减的联合,再把联合结果插入到TABLE中。

3. sqlite事务

是以文件的形式存在磁盘中,每次访问时都要打开一次文件,如果对数据进行大量操作时,会很慢~
解决办法是用事务的形式提交:因为我们开始事务后,进行大量操作的语句都保存在内存中,当提交时才全部写入数据库,此时,数据库文件也就只用打开一次。
sql语句:
[html]
  1. begin;    
  2. INSERT INTO "table" VALUES ('a', 'b', 'c');    
  3. INSERT INTO "table" VALUES ('a', 'b', 'c');    
  4. INSERT INTO "table" VALUES ('a', 'b', 'c');    
  5. commit;    
php语句: [html]
  1. $i = 0;    
  2. $db->beginTransaction();      
  3. while ($i<10){      
  4.     $sql = "INSERT INTO 'table' VALUES ('a', 'b', 'c')";      
  5.     $db->exec($sql);    
  6.     $i++;    
  7. }      
  8. $db->commit();     

4. SQLite自增ID字段使用方法为      INTEGER PRIMARY KEY AUTOINCREMENT

5. 分页查询显示

类似MySQL数据库 ,是利用mySQL的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为:
SELECT * FROM 表名称 LIMIT M,N
例如从表Sys_option(主键为sys_id)中从10条记录开始检索20条记录,语句如下:
select * from sys_option limit 10,20

相关内容