SQLite自增ID自段 使用方法为 INTEGER PRIMARY KEY AUTOINCREMENT 如:

CREATE   TABLE  21andy ( id  INTEGER   PRIMARY   KEY  AUTOINCREMENT, 21andy  VARCHAR ( 100 )  NOT   NULL , date DATE );

注意是AUTOINCREMENT, 和MySQL的写法不一样

SQLite清空表 SQLite没有TRUNCATE清空表命令,所以只能这样

DELETE   FROM  21andy;

SQLite 删除记录后, 自增ID置0

只能这样

DELETE   FROM  sqlite_sequence;

另外, 这个sqlite_sequence可以CRUD

SQLite 删除记录后, 不会释放空间 必须像这样

VACUUM

SQLite 分页查询 有两种写法:

Select   *   From  Account Limit  9  Offset  10 ;
SELECT   *   FROM  Account LIMIT  10 ,  9

他们两个的效果都是一样的,其中第一种写法比较清晰明了,即跳过10行,读取其后的9行数据.
SQLite批量插入数据 很不幸的事情是貌似SQLite只能一条一条的 执行插入,但是这是非常非常慢的行为,执行一条就是执行一次写入磁盘的操作,这实在是太可怕了.在SQLite里面执行批量插入,只能将插入操作放入到事 务当中去.示例如下:

BEGIN ; CREATE   TABLE  t2(a  INTEGER , b  INTEGER , c  VARCHAR ( 100 )); INSERT   INTO  t2  VALUES ( 1 , 59672 , ' fifty nine thousand six hundred seventy two ' ); INSERT   INTO  t2  VALUES ( 24999 , 89569 , ' eighty nine thousand five hundred sixty nine ' ); INSERT   INTO  t2  VALUES ( 25000 , 94666 , ' ninety four thousand six hundred sixty six ' ); COMMIT ; 

在SQLite当中一系列要进行多次写入操作的时候,建议放入到事务当中去,这个优化的性能提升是可以很明显感觉到的.用与不用的差别是非常大的.
SQLite 数据不存在INSERT,存在UPDATE SQLite的SQL语法类MySQL,在SQLite里面有一个关键字 REPLACE,可以使用它达到目的:

REPLACE   INTO   [ table ]  (row1, row2)  VALUES  ( 2 ,  3 );

如果该表有一个主键,那么当主键值相等的时候,该行数据不存在执行插入,存在则执行更新操作.但是如果没有主键,那么它就执行的永远都是插入操作了.
SQLite 使用ISNULL函数 SQLite的SQL语法类不同于MySQL, 不可以用ISNULL,但可以用 IFNULL 直接代替

ifnull(null,0)

一些 SQLite技巧的更多相关文章

  1. 【转】一些 SQLite技巧

    部分来源于网络 SQLite 删除重复行 需求:现存在一张表tender_to_detailedlist,然后里面的列tender_id和detailedlist_id具有相同的数据且不确定相同数据的 ...

  2. 树莓派进阶之路 (028) - 树莓派SQLite3的安装

    MySQL占用内存太大,而SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用.SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景 ...

  3. SQLite中的内连接简化技巧

    SQLite中的内连接简化技巧   在SQLite中,通过内连接可以将两个表通过条件表达式关联起来,构成一个新记录集或视图.形式如下:   SELECT ... FROM t1 JOIN t2 ON ...

  4. SQLite FTS5使用小技巧

    SQLite FTS5使用小技巧   在SQLite中,全文索引功能以扩展模块存在.使用全文索引,可以快速对大段文字进行搜索.SQLite提供FTS3.FTS4.FTS5三个模块.其中,FTS5是最新 ...

  5. android 操作sqlite的一点小技巧

    1.android 在sqlite插入数据时,是非常耗时的操作,原因是sqlite缺省会为每个插入操作开启一个事务,当数量变多的时候,自然时间就变得很慢,这时候可以考虑在插入等操作时先开启一个事务,再 ...

  6. 一起学微软Power BI系列-使用技巧(6) 连接Sqlite数据库

    好久没有研究Power BI了,看到高飞大神弄的东西,太惭愧了.今天有个小东西,数据在Sqlite里面,想倒腾到Power BI Desktop里面折腾一下,结果发现还不直接支持.所以只好硬着头皮上去 ...

  7. SQLite 使用技巧

    http://blog.csdn.net/beifengdelei/article/details/7166056 SQLite自增ID自段使用方法为 INTEGER PRIMARY KEY AUTO ...

  8. SQLite应用之实例代码

    目录 一.获取表的Schema信息 二.常规数据插入 三.高效的批量数据插入 四.数据查询 一.获取表的Schema信息    1). 动态创建表.    2). 根据sqlite3提供的API,获取 ...

  9. 数据存储_ SQLite(3)

    SQLite的应用 一.简单说明 1.在iOS中使用SQLite3,首先要添加库文件 libsqlite3.dylib 2.导入主头文件 #import <sqlite3.h> 二.具体说 ...

随机推荐

  1. 微信小程序开发——base64位图片显示问题

    前言: 目前小程序项目需要后端借口提供验证码图片,后端是以base64位返回的,按照H5的做法,前边拼上 data:image/png;base64, 应该就可以了,关键代码如下: H5: <i ...

  2. php composer 报错 requires php ^7.1.8 || ^8.0 -> your php version

    php 环境变量版本低于7.1.8,更新php环境变量版本

  3. PAT 甲级 1075 PAT Judge (25分)(较简单,注意细节)

    1075 PAT Judge (25分)   The ranklist of PAT is generated from the status list, which shows the scores ...

  4. 开发日记:常用BAT批处理

    备份文件:BackupSourceCode.bat ::自动备份当前文件夹 ::by luomg, 21:15 2010-10-13 ::minguiluo@163.com @echo off tit ...

  5. [LeetCode] 191. Number of 1 Bits 二进制数1的个数

    Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also know ...

  6. 【视频开发】ffmpeg 的编译选项

    ffmpeg xxxx$ ./configure --help Usage: configure [options] Options: [defaults in brackets after desc ...

  7. testNG的安装

    1,testNG介绍 TestNG ( Testing Next Generation ,下一代测试技术) testNG的强大之处在于它是 利用注释(注解) 来强化测试功能的测试框架,可以用来做接口测 ...

  8. Ubuntu 18.04 安装远程桌面

    原文链接:https://baijiahao.baidu.com/s?id=1619271691270163095&wfr=spider&for=pc 安装 tightvncserve ...

  9. docker容器中用户自定bridge网络与默认bridge网络之间的区别

    转载 https://blog.csdn.net/dkfajsldfsdfsd/article/details/79959534

  10. 开发板与pc之间文件传输:kermit and lrzsz

    imx6开发板与pc机之间通过串口传输文件步骤: 1. 安装好kermit并可以使用 2. 交叉编译lrzsz开源软件并把可执行程序lrz lsz拷贝到开发板 2.1 下载并解压lrzsz-0.12. ...